제3장 WebtoB 5 Fix#3

내용 목차

3.1. 신규 기능
3.1.1. HTTP/2 지원
3.2. 추가기능
3.2.1. HEADERS 절 Action 기능 추가
3.2.2. WJP에 XFF 헤더 지원 기능 추가
3.2.3. Reverse Proxy에 헤더 추가
3.2.4. LOGGING 절의 errorlog에 format 설정 기능 추가
3.2.5. LOGLEVEL 절에 RotateByFileSize 기능 추가
3.2.6. loglevel 명령의 -rf 옵션 추가
3.2.7. SERVER 절에 SessionIdUrlKey 기능 추가
3.2.8. WorkerThread에 FA 스케줄링 방식 추가
3.2.9. Timeout 후 대기요청 처리를 위한 보완코드 추가
3.2.10. wsadmin 'st -t' 명령에 task_type 추가
3.2.11. JSV 연결 시 Connection이 모자라는 경우 메시지에 Remote IP 표시 기능 추가
3.2.12. HEADERS 절 FiledValue 항목에 Log format 형식 문자열 지원 기능 추가
3.2.13. LOGLEVEL 절에 IncludeSslDump 옵션 추가
3.2.14. ACCESS 절에 IPGroup 추가
3.2.15. VHOST별 인코딩 설정 기능 추가
3.2.16. ERRORDOCUMENT 절에 MultiStatus 추가
3.2.17. LOG_HANDLER 설정 추가
3.2.18. 로그 파일의 내용을 검색할 수 있는 logsearch 명령 추가
3.2.19. HTTP Request header의 형식이 잘못된 경우 에러처리 옵션 추가
3.2.20. Reverse Proxy에서 HEADERS 절 기능을 사용할 수 있도록 기능 추가
3.2.21. URI 절에 분기 조건 LBSvgName 추가
3.3. 변경기능
3.3.1. WBSSL 버전 업그레이드
3.3.2. loglevel 명령의 -r 옵션을 -rs로 변경
3.3.3. RegExp 문자열 최대값 변경
3.3.4. HTH_THREAD 절의 SendfileThreshold 항목 기본값 변경
3.3.5. NODE 절의 InitialConnectionTimeout 항목 기본값 변경
3.3.6. 로그 레벨 변경
3.3.7. 디렉터리 URI로 끝나는 요청에 대한 응답은 캐시되지 않도록 변경
3.3.8. 요청 URL과 errordoc URL이 동일할 경우 동작방식 변경
3.3.9. SSL 처리 중 클라이언트 커넥션 관리를 위한 예외처리 추가
3.3.10. JSV에서 요청하지 않은 응답 메시지가 넘어올 경우에 대한 보완코드 추가
3.4. 버그 패치
3.4.1. JSV Compression이 간헐적으로 실패하는 버그 수정
3.4.2. Ring buffer 크기보다 큰 Chunked 요청 처리 관련 버그 수정
3.4.3. JSV Response가 Cunhked될 때 accesslog의 '%b'가 잘못 표시되는 버그 수정
3.4.4. HEADERS의 AddResponse 사용 시 HTH Core 발생 버그 수정
3.4.5. NODE 절, VHOST 절의 Options 설정 버그 수정
3.4.6. SVRGROUP 절의 LBBackup 항목 설정 시 wscfl에서 core 발생 버그 수정
3.4.7. cachelist 명령 처리 중 integer overflow 발생 버그 수정
3.4.8. Reverse Proxy 환경에서 'restat' 명령 수행 시 conns가 비정상 표시되는 버그 수정
3.4.9. HTH 시작 시 JSV에 대해 SHMS를 재시작하지 않는 버그 수정
3.4.10. 100-continue 응답을 보낼 때 메모리 누수가 발생 버그 수정
3.4.11. WebtoB가 down될 때 WSM 충돌하는 버그 수정
3.4.12. 잘못된 DIGEST 요청 전송 시 잘못된 상태코드를 응답하는 버그수정
3.4.13. unsetResponse 헤더 사용 시 HTH Core가 발생할 수 있는 버그 수정
3.4.14. SunOS SPARC에서 hthmem 명령 수행 시 HTH Core가 발생 버그 수정
3.4.15. 압축 및 헤더 addResponse 버퍼 재할당 중 HTH Core가 발생 버그 수정
3.4.16. WebDAV PROPFIND 메소드를 처리할 때 HTH Core 발생 버그 수정
3.4.17. CFL-05010과 CFL-05011에서 잘못된 cfl 라인 번호를 인쇄하는 버그 수정
3.4.18. ServiceOrder가 "EXT, URI"인 경우 디렉터리 URI 호출 시 Core 발생 문제 수정
3.4.19. JSV 메시지 크기가 설정값 보다 큰 경우 Timeout 발생 문제 수정
3.4.20. CacheMaxCompressSize 사용 시 HTH Core 발생 문제 수정
3.4.21. PROXY_SSL 사용 시 HTH Core 발생 문제 수정
3.4.22. PROXY_SSL과 함께 PersistentConnection 기능 사용 시 HTH Core 발생 문제 수정
3.4.23. PROXY_SSL 설정 상태에서 ReverseProxy로 메시지를 보내는 경우 오류 발생 문제 수정
3.4.24. WebtoB에서 처리하는 응답을 SSL Write할 때 화면이 출력되지 않는 버그 수정
3.4.25. 일부 SSL 요청이 처리되지 않는 버그 수정
3.4.26. WJPv2 사용 중 JEUS가 Shutdown되는 경우 HTH Core 발생 문제 수정
3.4.27. 용량이 큰 Chunked 요청에 대한 error logging 중 HTH Core 발생 문제 수정
3.4.28. FlowControl Buffer를 통해 대용량 파일을 캐시할 경우 HTH Core 발생 문제 수정
3.4.29. JSV 응답을 압축하여 SSL을 통해 Client로 응답하는 경우 Core 발생 문제 수정
3.4.30. JEUS 정상 다운 시 응답 메시지를 처리하지 않고 연결을 끊는 버그 수정
3.4.31. "restat -a" 실행 시 TCPGW 정보가 초기화되지 않는 버그 수정
3.4.32. Client-WebtoB가 SSL 연결된 상태에서 RequestLevelPing 기능 사용 시 HTH Core 발생 문제 수정
3.4.33. RequestLevelPing 사용 시 POST 요청 처리 중 발생 오류 수정
3.4.34. ForceCacheModificationCheck 설정 시 VHOST 절에 적용된 ERRORDOCUMENT 설정이 동작하지 않는 문제 수정

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

3.1. 신규 기능

3.1.1. HTTP/2 지원

  • HTTP/2 Connection 및 Request를 지원한다.

    NODE 절의 HTTP2Flag = Y로 설정하는 경우 동작하며, SSL/TLS 프로토콜을 사용하는 경우에만 적용되기 때문에 NODE 절 또는 VHOST 절에 SSLFlag를 설정해주어야 한다.

    *NODE
    webtob      WebtoBDir = "$WEBTOBDIR",
                SSLFlag = Y,
                HTTP2Flag = Y,
                        :
                        :

3.2. 추가기능

3.2.1. HEADERS 절 Action 기능 추가

  • HEADERS 절 Action 항목에 다음의 기능이 추가되었다.

    * HEADERS
    header1         Action="AddIfAbsentRequest",
                    FieldName="Test_Header",
                    FieldValue="test"
    
    header2         Action="AddIfAbsentResponse",
                    FieldName="Test_Header",
                    FieldValue="test"
    
    header3         Action="AppendResponse",
                    FieldName="Test_Header",
                    FieldValue="AppendResponse"
    
    header4         Action="EchoResponse",
                    FieldName="Test_Header"
    항목설명
    Action
    • AddIfAbsentRequest, AddIfAbsentResponse : 설정한 필드가 없을 때만 추가할 수 있다. Apache는 SetEnvIf 등의 설정과 함께 조건을 부여할 수 있다.

    • AppendResponse : 설정한 필드가 존재하면, 콤마(,)를 붙여서 값을 추가할 수 있다.

    • EchoResponse : 설정한 필드가 Request 헤더에 존재하면, 같은 값으로 추가할 수 있다.

    참고

    자세한 사용방법은 WebtoB 관리자 안내서”의 “3.25. HEADERS 절”을 참고한다.

  • 관련이슈 : IMS-233552

3.2.2. WJP에 XFF 헤더 지원 기능 추가

  • 클라이언트에서 보낸 Request Header에 XFF(X-Forwarded-For) 헤더가 포함된 경우 해당 값을 JEUS에서 Remote IP로 받아갈 수 있도록 하는 기능이 추가되었다.

  • 관련이슈 : IMS-208907

3.2.3. Reverse Proxy에 헤더 추가

  • Reverse Proxy에 X-Forwarded-Proto, X-Forwarded-Port 헤더를 지원하는 기능이 추가되었다.

  • 관련이슈 : IMS-213003

3.2.4. LOGGING 절의 errorlog에 format 설정 기능 추가

  • LOGGING 절의 errorlog에도 accesslog와 같은 형식의 format 설정 기능이 추가되었다.

    *LOGGING
    error_log       Format = "ERROR", # "%h %l %u %t \"%r\" %s %b",
                    Filename = "log/archives/error_%Y%%M%%D%.log",
                    Option = "sync",
                        :
                        :

    참고

    accesslog와 형식상 동일하기 때문에 혼동하지 않도록 주의가 필요하다. 자세한 사용방법은 WebtoB 관리자 안내서”의 “3.13. LOGGING 절”을 참고한다.

  • 관련이슈 : IMS-213098, IMS-211162

3.2.5. LOGLEVEL 절에 RotateByFileSize 기능 추가

3.2.6. loglevel 명령의 -rf 옵션 추가

  • wsadmin의 loglevel 명령에 -rf(RotateByFileSize)옵션이 추가되었다. 기존의 -r 옵션이 -rs(RotateBySeconds)로 변경되었다.

    *LOGLEVEL
    .hth            Level="Trace", 
                    RotateBySeconds = 100, 
                    RotateByFileSize = 10000, 
                    options ="dsW",
                        :
                        :
    $$1 tmaxsoft (wsadm) [2020-08-11T17:26:46]: cfg -ll
        LOGLEVEL: Logger = .hth,
             Level = TRACE,
             Options = dsW,
             RotateBySeconds = 100,
             RotateByFileSize = 10000
    
    $$1 tmaxsoft (wsadm) [2020-08-03T01:40:06]: ll
    Usage: ll loggername -l level | -o options | -rs rotatebyseconds | -rf rotatebyfilesize
                loggername : name of the logger (e.g. .hth)
                level : TRACE|DEBUG|INFO|WARN|FATAL
                options : [-]dcR,dcW,dsR,dsW
                          '-' turns off the specified options
                rotatebyseconds : trace log files separately by time (e.g. 500)
                rotatebyfilesize : trace log files separately by file size (e.g. 100000000)

    참고

    자세한 사용방법은 WebtoB 관리자 안내서”의 “6.1.7.6. ll”을 참고한다.

  • 관련이슈 : IMS-233595

3.2.7. SERVER 절에 SessionIdUrlKey 기능 추가

  • Cookie를 차단하는 브라우저에서 세션 유지를 위하여 SERVER 절에 SessionIdUrlKey 기능이 추가되었다.

    *SERVER
    MyGroup     SvgName = jsvg, 
                MinProc = 10, 
                MaxProc = 20,
                SessionIdUrlKey = "jsessionid",
                        :
                        :
  • SessionIdCookieKey 항목이 설정된 경우 SessionIdCookieKey 설정을 우선한다.

    참고

    자세한 사용방법은 WebtoB 관리자 안내서”의 “3.7. SERVER 절”을 참고한다.

  • 관련이슈 : IMS-204793

3.2.8. WorkerThread에 FA 스케줄링 방식 추가

  • WorkerThread가 블록되는 경우에 대응할 수 있도록 FA(First Available) 방식의 스케줄링 기능이 추가되었다.

  • HTH_THREAD 절의 Schedule 항목을 FA, RR로 설정할 수 있다. (기본값: FA)

    *HTH_THREAD
    hth_worker      SendfileThreads = 10,
                    SendfileThreshold=32768,
                    Schedule = FA,
                        :
                        :

    다음은 설정값에 대한 설명이다.

    설정값설명
    RRRound Robin 방식으로 순차적으로 Worker Thread에 요청을 할당한다.
    FAFirst Assign 방식으로 현재 가장 적은 일을 처리하고 있는 Worker Thread에 요청을 할당한다.

    참고

    자세한 사용방법은 WebtoB 관리자 안내서”의 “3.5. HTH_THREAD 절”을 참고한다.

  • 관련이슈 : IMS-212463

3.2.9. Timeout 후 대기요청 처리를 위한 보완코드 추가

  • JEUS 연동상태에서 클라이언트 요청이 JEUS로 전달되던 중 queuing 상태에서 timeout이 발생하는 경우 HTH Core 방지를 위한 보완코드를 추가하여 다음 요청을 처리할 수 있도록 하였다.

  • 추가한 보완코드가 동작하는 경우 syslog에 HTH0529 메시지가 출력된다.

  • 관련이슈 : IMS-222345

3.2.10. wsadmin 'st -t' 명령에 task_type 추가

  • wsadmin의 'st -t' 명령에 Thread가 현재 처리 중인 TASK 유형을 표시하는 task_type이 추가되었다.

  • WorkerThread의 status가 RUN인 경우에만 task_type이 표시되며(그 외에는 NONE), status가 RUN인 경우에도 task_type이 NONE으로 표시될 수 있다.

    $$74 tmaxsoft (wsadm) [2020-07-29T11:21:54]:  st -t 
    
    HTH 0: RDY
    -------------------------------------------------------------------------------------
    no  thread_id     status   elapsed        atasks        ptasks    qtasks    task_type
    -------------------------------------------------------------------------------------
     0   ACCESSLOG      RDY          0        453115        453115         0         NONE
     1   WORKER001      RUN          0        326226        326225         1     SSLWRITE
     2   WORKER002      RUN          0        167882        167881         1      SSLREAD
     3   WORKER003      RUN          0        134442        134441         1      SSLREAD
     4   WORKER004      RDY          0        106250        106250         0      SSLREAD
     5   WORKER005      RDY          0         81404         81404         0         NONE
     6   WORKER006      RDY          0         58007         58007         0         NONE
     7   WORKER007      RDY          0         37496         37496         0         NONE
     8   WORKER008      RDY          1         20338         20338         0         NONE
     9   WORKER009      RDY          1         10957         10957         0         NONE
    10   WORKER010      RDY          1          5671          5671         0         NONE

    참고

    자세한 사용방법은 WebtoB 관리자 안내서”의 “6.1.2.3. stat (st)”를 참고한다.

  • 관련이슈 : IMS-120109

3.2.11. JSV 연결 시 Connection이 모자라는 경우 메시지에 Remote IP 표시 기능 추가

  • JSV을 연결하는 경우 Connection(SPR)이 모자라는 경우 systemlog에 출력되는 [HTH-00063]과 [HTH-00292] 로그에 Client IP(Remote IP)를 추가로 표시하는 기능이 추가되었다.

  • 관련이슈 : IMS-223842

3.2.12. HEADERS 절 FiledValue 항목에 Log format 형식 문자열 지원 기능 추가

  • HEADERS 절 FiledValue 항목에 Log format 형식 문자열 지원 기능이 추가되었다.

  • Log format 형식을 설정하는 경우 이스케이프 문자는 '%'를 지원한다.

3.2.13. LOGLEVEL 절에 IncludeSslDump 옵션 추가

  • Trace Log에는 SSL 덤프를 포함하는 LOGLEVEL 절의 IncludeSslDump 옵션이 추가되었다. (기본값: N)

3.2.14. ACCESS 절에 IPGroup 추가

  • ACCESS 절 Allow / Deny의 IP 그룹화를 위한 설정 편의를 위하여 IPGroup 기능이 추가되었다.

  • ACCESS 절의 Allow 또는 Deny 항목에 IPGroup 이름을 사용할 수 있다.

    *IPGroup
    ipgroup1        IP = "localhost, 192.168.13.49"
    ipgroup2        IP = "localhost, 192.168.13.49, 192.168.13.50"
    
    *ACCESS
    access_allow    Order = "allow,deny",
                    Allow = "ipgroup1"
    access_deny     Order = "deny,allow",
                    Deny  = "ipgroup2"

    참고

    자세한 사용방법은 WebtoB 관리자 안내서”의 “3.14. ACCESS 절”를 참고한다.

  • 관련이슈 : IMS-201979

3.2.15. VHOST별 인코딩 설정 기능 추가

  • VHOST 별로 인코딩 설정을 추가할 수 있는 기능이 추가되었다.

    *VHOST
    vhost1              :
                    CheckURL = Y, # default : N
                    CheckURLFrom = "euc-kr", # default: utf-8
                    CheckURLTo = "utf-8",
                    CheckUrlJsvExcept = Y, # default : N
                        :
                        :

    다음은 설정값에 대한 설명이다.

    설정값설명
    CheckURLHTTP Request URL path의 Charset을 변환할지 여부를 결정한다. Y로 설정한 경우 CheckURLFrom과 CheckURLTo를 설정해야 한다.
    CheckURLFromHTTP Request URL path가 사용하는 Charset을 설정한다.
    CheckURLTo서버가 사용하는 Charset을 설정한다.
    CheckUrlJsvExceptJEUS로 포워딩하는 요청에 대하여 CheckURL 설정을 적용하지 않을지 여부를 결정한다. Y로 설정한 경우 JEUS로 요청을 보낼 때에는 URI를 변환하지 않는다.

    참고

    자세한 사용방법은 WebtoB 관리자 안내서”의 “3.4. VHOST 절”을 참고한다.

  • 관련이슈 : IMS-201972

3.2.16. ERRORDOCUMENT 절에 MultiStatus 추가

  • 동일한 url에 대해 여러 개의 HTTP Status Code 값을 설정할 수 있는 MultiStatus가 추가되었다.

  • Status와 함께 설정한 경우 명시된 순서대로 적용된다.

    *ERRORDOCUMENT
    errordoc1       MultiStatus = "403,404,413,414,500,503",
                    Url = "/error.html",
                        :
                        :
    

    참고

    자세한 사용방법은 WebtoB 관리자 안내서”의 “3.19. ERRORDOCUMENT 절”을 참고한다.

  • 관련이슈 : IMS-196685

3.2.17. LOG_HANDLER 설정 추가

  • WebtoB accesslog를 사용자가 지정한 리모트 서버에 남길 수 있는 기능으로, 리모트 서버의 주소와 로그를 남길 경로, connection timeout 등을 설정할 수 있다.

  • LOGGING 절에 LogHandler 설정에 LOG_HANDLER 이름을 사용할 수 있다.

    *LOG_HANDLER
    lh1             ServerAddress = "remote.server.com:8080",
                    ConnectTimeout = 3,
                    ReconnectTime = 10,
                    Timeout = 60,
                    Resource = "webtob/accesslog",
                    Protocol = "HTTP",
                        :
                        :

    다음은 설정값에 대한 설명이다.

    항목설명
    LOG_HANDLER 절 이름LOG_HANDLER 절 이름을 설정한다. (예: lh1)
    ServerAddressaccesslog를 남길 리모트 서버의 주소를 설정한다.
    ConnectTimeout리모트 서버로 연결 요청 후 연결될 때까지 기다리는 시간을 설정한다.
    ReconnectTime리모트 서버와 연결 실패시 다시 연결을 요청할 때까지 기다리는 시간을 설정한다.
    Timeout설정한 시간이 지나도록 accesslog 기록 요청이 발생하지 않으면 리모트 서버와 연결을 종료한다.
    Resource리모트 서버에서 accesslog를 저장할 경로를 설정한다.
    Protocol리모트 서버에 accesslog 요청을 보낼 때 사용할 프로토콜을 설정한다.

3.2.18. 로그 파일의 내용을 검색할 수 있는 logsearch 명령 추가

  • webadmin 명령으로 지정된 로그 파일에서 원하는 문자열을 검색할 수 있는 기능이 추가되었다.

    $$1 webtob (wsadm) 
    [2020-07-29T14:58:35]: logsearch successfully system.log_07292020
    [2020-07-29T10:44:16] [HTH(22378)] [I] [HTH-00074] Successfully connected and
    registered to HTL. HTH is ready to receive client connections.
    [2020-07-29T10:44:16] [HTL(22377)] [I] [HTL-00021] Successfully registered HTH.
    Start listening for this HTH. index=0, fd=6
    [2020-07-29T14:57:29] [HTH(4901)] [I] [HTH-00074] Successfully connected and
    registered to HTL. HTH is ready to receive client connections.
    [2020-07-29T14:57:29] [HTL(4900)] [I] [HTL-00021] Successfully registered HTH. Start
    listening for this HTH. index=0, fd=6

    참고

    자세한 사용방법은 WebtoB 관리자 안내서”의 “6.1.7.5. logsearch”를 참고한다.

  • 관련이슈 : IMS-186536

3.2.19. HTTP Request header의 형식이 잘못된 경우 에러처리 옵션 추가

  • HTTP Request header의 형식이 잘못된 경우 에러처리를 하는 옵션이 추가되었다. 무시하거나 에러처리 중에 선택한다.

  • HTTP Request header는 콜론(:)으로 구분된 name, value로 구성되는데("name:value"), 콜론이 없는 header를 무시하고 다음 header를 읽을것인지 여부를 결정한다.

    *NODE
    webtob              :
                    IgnoreMissingColonErr = Y,
                        :
    항목설명
    IgnoreMissingColonErr

    다음은 설정값에 대한 설명이다.

    • Y : 설정할 경우 해당 header는 무시한다.

    • N : 400 Bad Request 응답을 전송한다.

    참고

    자세한 사용방법은 WebtoB 관리자 안내서”의 “3.3. NODE 절”을 참고한다.

  • 관련이슈 : IMS-178412

3.2.20. Reverse Proxy에서 HEADERS 절 기능을 사용할 수 있도록 기능 추가

3.2.21. URI 절에 분기 조건 LBSvgName 추가

3.3. 변경기능

3.3.1. WBSSL 버전 업그레이드

  • WBSSL 버전이 WBSSL 3.1_1.0.2s에서 WBSSL 1.1.1d로 업그레이드되었다.

  • TLSv1.3 프로토콜을 지원한다.

  • SSLv3 이하 버전을 지원하지 않도록 변경되었다.

    $>wbssl version
    WBSSL 1.1.1d  10 Sep 2019
  • 이번 버전부터 WBSSL 독자적인 버전번호를 사용하지 않고 OpenSSL 버전번호를 그대로 사용하도록 변경되었다.

3.3.2. loglevel 명령의 -r 옵션을 -rs로 변경

  • wsadmin의 loglevel 명령에 -rf(RotateByFileSize) 옵션 추가를 위하여 기존의 -r 옵션이 -rs(RotateBySeconds)로 변경되었다.

    $> wsadmin
    $$3 tmaxsoft (wsadm) [2020-08-11T15:42:18]: ll
    Usage: ll loggername -l level | -o options | -rs rotatebyseconds | -rf rotatebyfilesize
    loggername : name of the logger (e.g. .hth)
    level : TRACE|DEBUG|INFO|WARN|FATAL
    options : [-]dcR,dcW,dsR,dsW
              '-' turns off the specified options
    rotatebyseconds : trace log files separately by time (e.g. 500)
    rotatebyfilesize : trace log files separately by file size (e.g. 100000000)

    참고

    자세한 사용방법은 WebtoB 관리자 안내서”의 “6.1.7.6. ll”을 참고한다.

  • 관련이슈 : IMS-233595

3.3.3. RegExp 문자열 최대값 변경

  • SVRGROUP 절, REVERSE_PROXY_GROUP 절, REVERSE_PROXY 절, HEADERS 절, EXT 절에 RegExp 항목의 문자열 최대 크기가 [256]에서 [512]로 변경되었다.

  • 관련이슈 : IMS-217612

3.3.4. HTH_THREAD 절의 SendfileThreshold 항목 기본값 변경

3.3.5. NODE 절의 InitialConnectionTimeout 항목 기본값 변경

  • NODE 절의 InitialConnectionTimeout 항목 기본값이 0에서 10으로 변경되었다.

3.3.6. 로그 레벨 변경

  • 로그 레벨 변경

    • HTH0374, HTH0295의 로그 레벨이 FATAL에서 DEBUG로 변경되었다.

    • HTH0113, HTH0099의 로그 레벨이 INFO에서 DEBUG로 변경되었다.

    • HTH0295, HTH0374의 로그 레벨이 FATAL에서 DEBUG로 변경되었다

    • HTH0094의 로그 레벨이 DEBUG에서 WARN으로 변경되었다.

    • HTH5037의 로그 레벨이 DEBUG로 변경되었다.

  • 관련이슈 : IMS-233567, IMS-222345, IMS-197843, IMS-193693

3.3.7. 디렉터리 URI로 끝나는 요청에 대한 응답은 캐시되지 않도록 변경

  • 디렉터리 URI로 끝나는 요청에 대한 응답은 캐시되지 않도록 변경되었다.

  • 관련이슈 : IMS-239793

3.3.8. 요청 URL과 errordoc URL이 동일할 경우 동작방식 변경

  • GET, POST 외의 메소드를 사용하는 경우 요청 URL과 errordoc URL이 동일할 경우 무한루프가 발생하지 않게 하기 위해 메소드의 동작을 GET 메소드와 동일하게 수정하였다.

  • 관련이슈 : IMS-197432

3.3.9. SSL 처리 중 클라이언트 커넥션 관리를 위한 예외처리 추가

  • SSL 처리 중 클라이언트 커넥션이 끊긴 것을 인지하지 못하고 Timeout까지 기다리는 경우가 발생하지 않도록 개선하였다.

  • 관련이슈 : IMS-197455

3.3.10. JSV에서 요청하지 않은 응답 메시지가 넘어올 경우에 대한 보완코드 추가

  • JEUS 버그로 WebtoB에서는 WebtoB-JEUS 사이에서 WebtoB가 보낸 요청에 대한 응답이 아닌 경우를 추가로 체크하여, 해당 응답을 버리고 해당 JSV 커넥션은 끊어주도록 하는 보완코드를 추가하였다.

  • 관련 메시지로 HTH0499가 추가되었다.

  • 관련이슈 : IMS-170761

3.4. 버그 패치

3.4.1. JSV Compression이 간헐적으로 실패하는 버그 수정

  • JSV Compression이 간헐적으로 실패하는 버그를 수정하였다.

  • 관련이슈 : IMS-204873

3.4.2. Ring buffer 크기보다 큰 Chunked 요청 처리 관련 버그 수정

  • Ring buffer 크기보다 큰 Chunked Request를 처리하는 경우 CRLF를 찾지 못하는 버그가 수정되었다.

  • 관련이슈 : IMS-207302

3.4.3. JSV Response가 Cunhked될 때 accesslog의 '%b'가 잘못 표시되는 버그 수정

  • JSV Response에 Transfer-Encoding: chunked가 포함된 경우 accesslog의 '%b'(응답크기)가 잘못 계산되어 표시되는 버그가 수정되었다.

  • 관련이슈 : IMS-233567

3.4.4. HEADERS의 AddResponse 사용 시 HTH Core 발생 버그 수정

  • HEADERS 설정을 통해서 AddResponse 기능으로 사이즈가 큰 Header를 추가할 경우 Core가 발생할 수 있는 버그가 수정되었다.

  • 관련이슈 : IMS-233568

3.4.5. NODE 절, VHOST 절의 Options 설정 버그 수정

  • NODE 절, VHOST 절의 Options 항목에 -PYTHON, -FILTER 옵션을 지원하지 않는 버그가 수정되었다.

  • 관련이슈 : IMS-210035

3.4.6. SVRGROUP 절의 LBBackup 항목 설정 시 wscfl에서 core 발생 버그 수정

  • SVRGROUP 절의 LBBackup 항목을 설정할 때 wsclf 실행할 경우 core가 발생되는 버그가 수정되었다.

  • 관련이슈 : IMS-213425

3.4.7. cachelist 명령 처리 중 integer overflow 발생 버그 수정

  • cachelist 명령을 처리할 때 cachelist의 Total content length가 int 최댓값 보다 커질 경우 overflow되어 음수로 표시되는 버그가 수정되었다.

  • 관련이슈 : IMS-221376

3.4.8. Reverse Proxy 환경에서 'restat' 명령 수행 시 conns가 비정상 표시되는 버그 수정

  • Reverse Proxy 환경에서 'restat' 명령으로 통계정보 초기화를 수행하는 경우 st -rpg 명령으로 조회되는 정보 중 conns 정보(커넥션 갯수)가 비정상 표시되는 버그가 수정되었다.

  • 관련이슈 : IMS-181798

3.4.9. HTH 시작 시 JSV에 대해 SHMS를 재시작하지 않는 버그 수정

  • HTH를 시작하는 경우 JSV에 대해 SHMS를 재시작(초기화)하지 않아서, HTH를 재기동할 때 HTH Connection이 중복 또는 누적되어 표시되는 버그가 수정되었다.

  • 관련이슈 : IMS-223842

3.4.10. 100-continue 응답을 보낼 때 메모리 누수가 발생 버그 수정

  • Request Header에 "Expect: 100-continue"를 사용하는 경우 Memory Leak이 발생하는 버그가 수정되었다.

  • 관련이슈 : IMS-223192

3.4.11. WebtoB가 down될 때 WSM 충돌하는 버그 수정

  • WebtoB가 down될 때 WSM이 충돌하여 정상적으로 down되지 않는 버그가 수정되었다.

  • 관련이슈 : IMS-231536

3.4.12. 잘못된 DIGEST 요청 전송 시 잘못된 상태코드를 응답하는 버그수정

  • HTTP BASIC/DIGEST Auth를 사용할 경우 잘못된 Authorization 정보를 사용할 때 401 Unauthorized가 아닌 400을 응답하던 버그가 수정되었다.

  • 관련이슈 : IMS-232848

3.4.13. unsetResponse 헤더 사용 시 HTH Core가 발생할 수 있는 버그 수정

  • unsetResponse 헤더를 사용할 경우 HTH Core가 발생할 수 있는 버그가 수정되었다.

  • 관련이슈 : IMS-234960

3.4.14. SunOS SPARC에서 hthmem 명령 수행 시 HTH Core가 발생 버그 수정

  • SunOS SPARC에서 hthmem 명령을 수행하는 경우 HTH Core가 발생하는 문제가 수정되었다.

  • 관련이슈 : IMS-201358, IMS-201303

3.4.15. 압축 및 헤더 addResponse 버퍼 재할당 중 HTH Core가 발생 버그 수정

  • Headers 절의 AddResponse 사용으로 추가된 데이터 크기가 기존에 할당한 버퍼보다 클 경우 버퍼 재할당 수행 중 Core가 발생하던 문제가 수정되었다.

  • 관련이슈 : IMS-238001

3.4.16. WebDAV PROPFIND 메소드를 처리할 때 HTH Core 발생 버그 수정

  • WebDAV PROPFIND 메소드를 수행하는 경우 Response Body Size가 8kb를 넘는 경우 Core가 발생하는 문제가 수정되었다.

  • 관련이슈 : IMS-238863

3.4.17. CFL-05010과 CFL-05011에서 잘못된 cfl 라인 번호를 인쇄하는 버그 수정

  • Windows 환경에서 지원하지 않는 옵션을 설정하는 경우 wscfl를 수행하는 경우 CFL-05010과 CFL-05011에서 각 옵션의 설정값을 출력하는 문제가 수정되었다.

  • 관련 설정 : HTH_THREAD.SendfileThreads, SendfileThreshold, AccessLogThread

  • 관련이슈 : IMS-239953

3.4.18. ServiceOrder가 "EXT, URI"인 경우 디렉터리 URI 호출 시 Core 발생 문제 수정

  • ServiceOrder가 "EXT,URI"인 경우 디렉터리 URI을 호출하는 경우 해당 요청을 캐시에 추가하면서 Core가 발생하는 문제가 수정되었다.

  • ServiceOrder 설정과 무관하게 디렉터리 URI로 끝나는 요청에 대한 응답은 캐시되지 않도록 수정되었다.

  • 관련이슈 : IMS-239793

3.4.19. JSV 메시지 크기가 설정값 보다 큰 경우 Timeout 발생 문제 수정

  • JSV를 통해 JEUS에서 WebtoB로 보내는 메시지의 크기가 WebtoB의 FlowControl buffer size 보다 큰 경우 무한루프가 되어 Timeout 발생하는 문제가 수정되었다.

  • 관련이슈 : IMS-203845

3.4.20. CacheMaxCompressSize 사용 시 HTH Core 발생 문제 수정

  • CacheMaxCompressSize를 설정할 경우 HTH에서 Core가 발생하는 문제가 수정되었다.

  • 관련이슈 : IMS-203032

3.4.21. PROXY_SSL 사용 시 HTH Core 발생 문제 수정

  • PROXY_SSL를 설정하는 경우 클라이언트가 응답을 받기 전에 연결을 종료하는 경우 HTH Core가 발생하는 문제가 수정되었다.

  • 관련이슈 : IMS-203281

3.4.22. PROXY_SSL과 함께 PersistentConnection 기능 사용 시 HTH Core 발생 문제 수정

  • ReverseProxy에서 PROXY_SSL과 PersistentConnection 기능을 함께 사용하는 경우 HTH Core 발생하던 문제가 수정되었다.

  • 관련이슈 : IMS-176628

3.4.23. PROXY_SSL 설정 상태에서 ReverseProxy로 메시지를 보내는 경우 오류 발생 문제 수정

  • ReverseProxy에서 ProxySSL 설정된 상태에서 ReverseProxy로 Chunk 메시지를 보내는 경우 내부 이벤트 처리 문제로 400 또는 404 발생하던 문제가 수정되었다.

  • 관련이슈 : IMS-187018

3.4.24. WebtoB에서 처리하는 응답을 SSL Write할 때 화면이 출력되지 않는 버그 수정

  • WebtoB HTMLS에서 응답을 처리하여 SSL write하는 중에 클리이언트가 연결을 끊은 것으로 잘못 판단하여 일부 static file들이 처리되지 않는 문제가 해결되었다.

  • 관련이슈 : IMS-202614

3.4.25. 일부 SSL 요청이 처리되지 않는 버그 수정

  • SSL 에러를 처리하는 경우 errorno 처리방식을 개선하여 일부 SSL 요청이 처리되지 않던 문제를 수정하였다.

  • 관련이슈 : IMS-197920

3.4.26. WJPv2 사용 중 JEUS가 Shutdown되는 경우 HTH Core 발생 문제 수정

  • WJPv2를 사용하는 중 JEUS가 shutdown되는 경우 JEUS와 주고받는 메시지 처리 문제로 HTH Core가 발생하던 문제가 수정되었다.

  • 관련이슈 : IMS-197843

3.4.27. 용량이 큰 Chunked 요청에 대한 error logging 중 HTH Core 발생 문제 수정

  • 용량이 큰 Chunked 요청에 대한 error logging 중 HTH Core 발생하던 문제가 수정되었다.

  • 관련이슈 : IMS-185884

3.4.28. FlowControl Buffer를 통해 대용량 파일을 캐시할 경우 HTH Core 발생 문제 수정

  • FlowControl Buffer Size 보다 큰 응답(Response header포함)만 캐시하도록 수정되었다.

  • CacheMaxFileSize 설정의 최대값도 FlowControl Buffer Size 이하로 제한하도록 수정되었다.

  • 관련이슈 : IMS-190625

3.4.29. JSV 응답을 압축하여 SSL을 통해 Client로 응답하는 경우 Core 발생 문제 수정

  • JSV 응답을 압축하여 SSL 처리 후 클라이언트에게 보낼 때 JSV응답 및 압축한 결과도 한 번에 전송하지 못할만큼 충분히 큰 경우에 Core 발생하던 문제가 수정되었다.

  • 관련이슈 : IMS-188265

3.4.30. JEUS 정상 다운 시 응답 메시지를 처리하지 않고 연결을 끊는 버그 수정

  • WJPv2를 사용하는 경우 JEUS가 정상 다운될 때 처리 중이던 요청이 마무리되지 않고 끊기는 문제가 수정되었다.

  • 관련이슈 : IMS-187653

3.4.31. "restat -a" 실행 시 TCPGW 정보가 초기화되지 않는 버그 수정

  • wsadmin에서 "restat -a"를 실행할 때 "st -tcpgw" 정보가 초기화되지 않는 버그가 수정되었다.

  • 관련이슈 : IMS-176845

3.4.32. Client-WebtoB가 SSL 연결된 상태에서 RequestLevelPing 기능 사용 시 HTH Core 발생 문제 수정

  • Client-WebtoB가 SSL 연결된 상태에서 RequestLevelPing=Y 기능을 사용하는 경우 연결된 JEUS 서버의 처리 속도가 클라이언트의 Request 전송 속도보다 느린 경우 Core 발생하던 문제가 수정되었다.

  • 관련이슈 : IMS-184354, IMS-184207, IMS-184079

3.4.33. RequestLevelPing 사용 시 POST 요청 처리 중 발생 오류 수정

  • WJPv2에서 RequestLevelPing을 사용하는 경우 POST 요청의 body를 JEUS로 전달하는 시점에 발생하던 오류가 수정되었다.

  • 관련이슈 : IMS-178356

3.4.34. ForceCacheModificationCheck 설정 시 VHOST 절에 적용된 ERRORDOCUMENT 설정이 동작하지 않는 문제 수정

  • ForceCacheModificationCheck를 설정하는 경우 에러 메시지가 생성될 때 VHOST를 찾지 못하여 VHOST 절에 설정한 ERRORDOCUMENT 설정이 동작하지 않는 문제가 수정되었다.

  • 관련이슈 : IMS-174041