제9장 WebtoB 4.1 SP6 Fix#0

내용 목차

9.1. 신규 기능
9.1.1. Reverse_Proxy_Group 절 신규 추가 및 다른 WAS 연동 기능
9.1.2. JEUS와 SSL 연결 기능
9.2. 추가 기능
9.2.1. TCP Socket buffer 크기 설정 기능
9.2.2. Wsadmin에 ReverseProxy 환경설정 및 통계정보 출력 기능
9.2.3. Windows에서 HTH 비정상 종료 시 Dump 파일 남기는 기능
9.2.4. Disable SSL Protocols 기능
9.2.5. FlowControl 개선
9.3. 버그 패치
9.3.1. Reverse_Proxy를 통해 HTTP1.0 요청에 대한 응답이 Rewrite되면 HTH가 비정상 종료되는 오류 수정
9.3.2. POST요청이 JEUS에서 처리 중 Timeout되면 AccessLog에 기록하지 않는 오류 수정
9.3.3. SSL Handshake될 때 trace log가 설정되어 있으면 HTH가 비정상 종료되는 오류 수정
9.3.4. JEUS(PHP, CGI) 요청이 IndexName 설정이 적용될 경우 memory가 free되지 않는 오류 수정
9.3.5. HTH가 메모리 부족 등의 이유로 close되었을 때 Server Process가 reconnect하지 않는 오류 수정
9.3.6. ReverseProxy를 사용 시 Chunked 요청을 Chunked로 응답하도록 수정
9.3.7. Windows에서 Client가 느릴 경우 CPU 사용량이 높아지는 오류 수정

9.1. 신규 기능

9.1.1. Reverse_Proxy_Group 절 신규 추가 및 다른 WAS 연동 기능

  • Reverse_Proxy_Group절을 추가하여 다른 다중 Was 연동을 가능하도록 하였다.

    WebtoB의 Reverse_Proxy와 WAS의 Http-Listener 가 연결을 맺어 연동하는 방식이다.

    하나의 WAS와 연동하기 위해서는 Reverse_Proxy를 설정하고, 다중 WAS와 연동하는 경우 Reverse_Proxy_Group을 설정한다. 자세한 설정 및 설명은 "WebtoB 관리자 안내서"를 참고한다.

    [예 9.1] Reverse_Proxy_Group 설정

    *REVERSE_PROXY_GROUP
    rproxyG1
             VhostName = "vhost1",
             PathPrefix = "/before/",
             ServerPathPrefix = "/after/",
             RewriteHtmlUrl = "/after/ /before/",
             HtmlUrl = "a href",
             HtmlUrl = "img src",
             HtmlUrl = "link href",
             HtmlUrl = "script src",
             HtmlUrl = "frame src",
             HtmlUrl = "td background",
             HtmlUrl = "table background",
             HtmlUrl = "iframe src",
             HtmlUrl = "OBJECT CODEBASE",
             RewriteHtmlMaxSize = 4194304,
             SessionIDCookieKey = "JSESSIONID"

    참고

    Enterprise Edition License 에서 지원하는 기능이다.

9.1.2. JEUS와 SSL 연결 기능

  • WebtoB와 JEUS 를 SSL Procotol을 통해 연동하는 기능을 추가하였다.

    [예 9.2] JsvSSL 설정

    *NODE
    nodename    ...
             JsvSslFlag = "Y", (default: N)
             JsvSslPort = "9900",
             JsvSslName = "ssl1", (*SSL.name)
             #JsvSslListen = #multiple jsv ssl port (as JsvListen)

  • 관련이슈 : IMS-73738

9.2. 추가 기능

9.2.1. TCP Socket buffer 크기 설정 기능

  • 내부 프로세스 간의 Buffer Size를 설정하는 기능을 추가하였다.

    설정을 통해 성능 향상을 기대할 수 있으나 크기를 크게 할 경우 메모리를 많이 차지할 수 있어 가능하면 기본값을 사용하도록 권장한다.

    [예 9.3] BufferSize 설정

      *NODE.IpcSendBufferSize: Ipc send buffer size(default: 0, system default)
      *NODE.IpcRecvBufferSize: Ipc recv buffer size(default: 0, system default)
      *NODE.HthIpcSendBufferSize: Ipc send buffer size for HTH (default: IpcSendBufferSize)
      *NODE.HthIpcRecvBufferSize: Ipc recv buffer size for HTH (default: IpcRecvBufferSize)
      *NODE.SvrIpcSendBufferSize: Ipc send buffer size for Servers (default: IpcSendBufferSize)
      *NODE.SvrIpcRecvBufferSize: Ipc recv buffer size for Servers (default: IpcRecvBufferSize)

9.2.2. Wsadmin에 ReverseProxy 환경설정 및 통계정보 출력 기능

  • Wsadmin에 Reverse_Proxy(Reverse_Proxy_Group)관련 정보를 출력하는 명령을 추가하였다.

    총 4가지(cfg -rpg, cfg -rp, st -rpg, st -rp) 명령을 추가하였다. 자세한 설정 및 설명은 "WebtoB 관리자 안내서"를 참고한다.

    [예 9.4] WBSSL 변경 내용

    cfg -rpg <name> : Reverse_Proxy_Group Config
    cfg -rp <name> : Reverse_Proxy Config
    st -rpg <name> : Reverse_Proxy_Group Status
    st -rp <name> : Reverse_Proxy Status

9.2.3. Windows에서 HTH 비정상 종료 시 Dump 파일 남기는 기능

  • Windows에서 Linux 플랫폼의 core 파일 처럼 Debug Dump를 남기는 기능을 추가하였다.

    해당 Dump 파일은 WinDbg를 통해 분석이 가능하다.

9.2.4. Disable SSL Protocols 기능

  • SSL Protocol을 제한하는 기능을 추가하였다.

    RequriedCiphers에 설정이 되어있어도 SSL 절에 Protocols 설정을 통해 특정 SSL Protocol 버전을 제한할 수 있다.

    [예 9.5] Protocols 설정 방법

    *SSL
    sslname    ...
        Protocols = "-SSLv2, -SSLv3, -TLSv1, -TLSv1.1, -TLSv1.2", #default: +SSLv2, +SSLv3, +TLSv1, +TLSv1.1, +TLSv1.2
    
    *PROXY_SSL
    prxysslname    ...
        Protocols = "-SSLv2, -SSLv3, -TLSv1, -TLSv1.1, -TLSv1.2", #default: +SSLv2, +SSLv3, +TLSv1, +TLSv1.1, +TLSv1.2
    

  • 관련이슈 : IMS-81142

9.2.5. FlowControl 개선

  • 내부적으로 FlowControl algorithm을 개선하였다.

9.3. 버그 패치

9.3.1. Reverse_Proxy를 통해 HTTP1.0 요청에 대한 응답이 Rewrite되면 HTH가 비정상 종료되는 오류 수정

  • Reverse_Proxy를 통한 HTTP1.0 요청에 대한 응답이 RewriteHtmlUrl과 같은 설정을 통해 Rewrite될 경우 HTH가 비정상 종료되는 현상을 수정하였다.

    Content-Length 헤더가 없고 Socket Buffer보다 Size가 큰 경우 오류가 발생한다.

  • 관련이슈 : IMS-8029

9.3.2. POST요청이 JEUS에서 처리 중 Timeout되면 AccessLog에 기록하지 않는 오류 수정

  • Post요청에 Content-Length가 있는 경우 HttpInBufSize 만큼씩 Body를 모아서 JEUS로 포워딩하게 된다. 이 과정에서 Client Timeout이 될 경우 Access Log에 안기는 문제를 수정하였다.

9.3.3. SSL Handshake될 때 trace log가 설정되어 있으면 HTH가 비정상 종료되는 오류 수정

  • SSL과 trace log가 설정되어 있으면 Client 요청이 있을 때 SSL Handshake가 진행되면서 HTH가 비정상 종료되는 오류를 수정하였다.

9.3.4. JEUS(PHP, CGI) 요청이 IndexName 설정이 적용될 경우 memory가 free되지 않는 오류 수정

  • WebtoB의 IndexName 설정이 적용될 경우 내부적으로 Redirect를 하게 되는데 이 과정에서 Client Memory가 free되지 않는 오류를 수정하였다.

  • 관련이슈 : IMS-80224

9.3.5. HTH가 메모리 부족 등의 이유로 close되었을 때 Server Process가 reconnect하지 않는 오류 수정

  • HTH가 HTMLS로부터 Response를 읽는 도중 Memory Allocation이 실패하면 HTMLS와 연결을 끊게 된다. 이 과정 이후 HTMLS는 reconnection을 하지 않는 오류를 수정하였다.

  • 관련이슈 : IMS-76306

9.3.6. ReverseProxy를 사용 시 Chunked 요청을 Chunked로 응답하도록 수정

  • ReverseProxy를 사용하는 경우 요청이 Chunked로 올 경우 de-chunk하지 않고 받은 만큼 내부 서버로 포워딩하도록 수정하였다.

    WebtoB와 JEUS가 연결된 경우 Chunked Reqeust가 올 경우 Content-Length를 만들어서 JEUS로 전달한다.

9.3.7. Windows에서 Client가 느릴 경우 CPU 사용량이 높아지는 오류 수정

  • Windows 플랫폼의 Windows에서 Client가 응답을 느리게 받아갈 경우 CPU 사용량이 높아지는 오류를 수정하였다.

    참고

    WebtoB 4.1 SP5 Fix#0 이상 WebtoB 4.1 SP5 Fix#3 이하 버전에서 발생하는 오류 현상이다.

  • 관련이슈 : IMS-80224