WebtoB 6.1

본 장에서는 WebtoB 6.1의 신규 기능과 이전 버전에서 변경된 기능, 버그 패치에 대해서 설명한다.

1. 신규 기능

1.1. IPv6 지원

  • WebtoB6에서 IPv6 주소체계에서 listen 할 수 있도록 기능을 지원한다 (하나의 fd socket에서 IPv4, IPv6를 모두 수용하는 dual-stack 방식)

1.2. UDS 지원

  • JEUS의 내장 WebtoB간 통신하기 위한 UDS를 지원한다

1.3. HTTP/2 지원

  • h2c connection Upgrade 방식 및, reverse proxy에서도 HTTP/2를 지원한다

1.4. API 및 wsadmin 커맨드 추가

  • 기존 WebtoB5에서 쓰던 커맨드가 WebtoB6에서도 지원할 수 있도록 추가한다

1.5. HTTP, WJP, TCP Server에 Access 설정 기능 추가

  • http server에 access 기능이 추가되었으며, Access절을 HTTP 외에도 적용될 수 있도록 추가

1.6. 로그 로테이션 시, 오래된 파일 삭제하는 기능 추가

  • 로그 로테이션으로 파일 생성새, 오래된 로그 파일은 제거할 수 있도록 기능 추가

1.7. WebtoB Manager 추가

  • WebtoB Manager를 통해서 WebtoB 관리 지원 및 multi process를 지원한다

1.8. URL charset 변경 기능 추가

  • WebtoB5와 동일하게 HTTP Request URL path의 charset을 쓸 수 있도록 기능 추가

1.9. URL Resrite Dynamic Proxy 기능 추가

  • Dynamic Reverse Proxy 및 Proxy SSL 기능 추가

1.10. Expires 기능 추가

  • WebtoB5와 동일하게 *EXPIRES절을 사용할 수 있도록 기능 추가

1.11. Listen address 기능 추가

  • Webtob6에서 설정을 통해 listen할 addresss를 제어할 수 있도록 기능 추가

1.12. enable_expect_100_continue 설정 추가

  • WebtoB5의 *NODE절 Options의 IgnoreExpect100Continue 설정을 WebtoB6에서 쓸 수 있도록 기능 추가

1.13. enable_allow_header_on_405 옵션 추가

  • WebtoB5의 *Node절 Options 설정에 있던 ExcludeAllowHeaderOnError 설정을 WebtoB6에서 쓸 수 있도록 기능 추가

1.14. Access 로그를 상세히 남기는 기능 추가

  • WebtoB5의 *Node절 TraceAccessLog 설정을 WebtoB6에서 acess log 설정을 DEBUG로 설정 가능하도록 기능 추가

1.15. Directory 기능 추가

  • WebtoB5의 *DIRECORY절이 WebtoB6에서도 사용할 수 있도록 기능 추가

1.16. SERVICE uri, ext 의 match 방식에 exact, regex 타입 추가

  • WebtoB5와 동일하게 *uri 및 *ext절에 exact, prefix, regex 타입이 모두 가능하도록 기능 추가 (*uri절 fn은 제외)

1.17. SERVICE uri 에 goto_ext, stop_if_no_ext 기능 추가

  • WebtoB5의 GotoExt 및 StopIfnoExt절이 WebtoB6에서도 사용 가능하도록 추가

1.18. SERVICE uri 에 ext 설정 추가

  • WebtoB5의 *URI.EXT 설정에 대응하는 설정을 WebtoB6에서도 사용하도록 추가

1.19. JEUS Block-listen 기능 추가

  • Server가 서비스 불능상태가 되면 더이상 클라이언트를 받아들이지 않도록, 가상 호스트의 서비스를 모두 닫는 기능 추가

1.20. thread name 을 프로세스 모니터링 명령어(ps, top, htop 등)에서 확인 가능하는 기능 추가

  • Thread의 command 정보를 모니터링 하는 기능 추가

1.21. Thread의 stackTrace를 남기는 기능 추가

  • Thread id 가 SIGTRAP 을 받으면 이에 대한 시그널 핸들링으로 stacktrace 를 남기도록 하는 기능 추가되었으며

1.22. WebtoB5 의 .m 포맷 기동 지원

  • 마이그레이션을 하지 않더라도 WebtoB5의 config 파일을 기동하는 기능 추가

1.23. wsadmin 결과를 터미널에 바로 출력하는 기능 추가

  • wsadmin -C 옵션 추가

1.24. PID 별로 로그 파일 기록하도록 지원

  • pid 별로 로그 파일을 기록하도록 기능 추가

1.25. ps 명령어를 통해 프로세스마다 이름이 다르게 보이도록 지원

  • ps -o comm 명령어를 쓰면 process마다 이름이 구분될 수 있도록 추가

2. 변경사항

2.1. Config Migration 결과가 자연스러운 순서로 정렬되도록 변경

  • 변환된 환경설정이 알파벳순으로 정렬되어 결과 파일에 출력되도록 변경

2.2. config 커맨드 및 API 수행 결과가 자연스러운 순서로 정렬되도록 변경

  • config 를 조회하는 API 와 cli command 결과도 모두 알파벳순으로 정렬되어 출력되도록 변경

2.3. connnection_timeout 별도 설정으로 분리

  • server_health_check에서 connection_timeout을 별도 설정으로 분리

2.4. configMitrator.sh 스크립트 제거

  • WebtoB 6에 있던 configMigrator.sh를 제거하고 configMigrator로 변경

2.5. config에 환경변수 적용 가능하도록 변경

  • 환경변수를 적용 가능하도록 하는 기능이 WebtoB6에 누락되어 있어 추가

2.6. configMigrator 최신화

  • WebtoB 6.1에서 추가 및 변경된 config에 대한 configMigrator 수정

2.7. WEBTOB_HOME 환경변수를 필수값으로 변경

  • WEBTOB_HOME 환경 변수를 필수값으로 변경한다

2.8. HTMLS 에서 cache 설정이 기본으로 동작하도록 변경

  • enable_cache의 schema default값을 true로 변경 (기본값 : true)

2.9. 설정상 서버들의 port 가 겹치면 스키마 검증 실패되도록 변경

  • 서버 내에서 중복으로 같은 port를 사용할 수 없도록 schema에서 validation 체크되도록 변경

2.10. 하나의 서버에 여러 포트를 설정할 수 있도록 변경

  • HTTP, TCP 서버에 대해 port를 여러개 설정할 수 있도록 변경

2.11. WebtoB 종료를 SHUTDOWN API 호출하는 방식으로 변경

  • shutdown시 api호출에 실패할 경우 signal로 shutdown 시도하는 로직 추가

2.12. 로그 로테이션시 파일 생성 타이밍을 WebtoB5 와 동일하게 변경

  • System Log, Error Log: 로그 발생시 파일 생성, rotation 주기가 지나도 새로운 로그가 발생하지 않으면 파일을 생성하지 않음

  • Access Log: 기동과 동시에 파일 생성, rotation 주기에 맞게 새로운 파일 생성

3. 버그 수정

3.1. 대용량 SSL 처리하지 못하는 버그 수정

  • HTTP/1.1 SSL 환경에서 대용량 정적 파일 응답을 올바르게 수신하도록 수정

3.2. Reverse Proxy Group Failover & Failback 상황에서 무한히 대기하는 버그 수정

  • 복수 개의 rproxy 서버중 일부 연결에 실패할 때, http failure 발생시 무한루프에 빠지는 버그 수정

3.3. JEUS 및 Reverse Proxy 처리 후, connection info API 호출시 core 발생하는 버그 수정

  • jeus 및 rproxy 연결 종료 시 server pool에서 정리하지 않아 ci요청시 core발생하는 버그 수정

3.4. updateconfig API 호출시 설정 검증에 실패할때 WebtoB 종료되는 버그 수정

  • updateconfig API 호출시 설정 검증에 실패할때 WebtoB가 강제종료되는 버그

3.5. connection pool size 설정을 초과하는 연결시 core 발생하는 버그 수정

  • onnection pool size가 초과되도 core가 발생하지 않도록 수정

3.6. 에러 응답시, Access 로그 시간이 잘못 출력되는 버그 수정

  • access log 에 시간 정보가 정상적으로 출력되도록 수정

3.7. 일부 터미널 애뮬레이터(ex; xshell) 에서 wsadmin 사용시 backspace 키가 동작하지 않던 버그 수정

  • xshell 애뮬레이터에서 backspace 키 되도록 호환

3.8. HTH 2개 이상일때 SSL 동시성 이슈 해결

  • rproxy 상황에서 클라이언트에서 SSL로 부하를 가할 때 core가 발생하는 버그

3.9. sslname 설정에 empty string 설정시 core 발생하는 버그 수정

  • sslname설정에 ““ 같이 빈 문자열을 넣으면 schema 에도 걸리도록 수정

3.10. URL Rewrite 리다이렉션시, Location 에 포트가 두번 붙는 문제

  • location에 포트가 1번만 붙도록 수정