내용 목차
DOSBlock=Y로 설정하면 DoS 공격의 피해를 줄일 수 있다.
DOSBlock의 설정은 DOSBlockPageCount 또는 DOSBlockSiteCount 설정값만큼 DOSBlockPageInterval 또는 DOSBlockSiteInterval 설정시간 사이에 요청이 올 경우 DOSBlockPeriod 시간동안 해당 IP를 차단하는 기능이다.
설정할 때 주의할 점은 DOSBlockPageCount 또는 DOSBlockSiteCount 설정이 1일 경우 2로 설정이 되고, 0으로 설정할 경우 DOSBlock을 사용하지 않게 된다.
[예 16.1] DOSBlock 설정 방법
NODE 절에 DOSBlock 설정을 한다.
*NODE
webmain WEBTOBDIR = "/usr/local/webtob",
...
DOSBlock = Y,
DOSBlockTableSize = 3097
DOSBlockPageCount = 5
DOSBlockPageInterval = 1
DOSBlockSiteCount = 50
DOSBlockSiteInterval = 1
DOSBlockPeriod = 30
DOSBlockWhiteList = ""
요청 및 응답에 Header를 추가하는 기능을 추가 하였다. HEADERS 절이 추가되었으며 설정은 NODE 절, VHOST 절, SERVER 절에 HEADERS 절의 설정을 추가한다.
ACTION에는 addrequest , addresponse 설정만 가능하다.
[예 16.2] Headers 설정 방법
*HEADERS header1 ACTION = "addrequest", FieldName = "testname", FieldValue = "testvalue", StatusCode = "", header2 ACTION = "addresponse" FieldName = "headername", FieldValue = "headervalue", StatusCode = "404,503", *NODE webmain WEBTOBDIR = "/usr/local/webtob", ... Headers = "header1,header2" *VHOST vhost1 DOCROOT = "/usr/local/webtob/docs", ... Headers = "header1" *SERVER htmls SVGNAME = htmlg, MinProc = 2, MaxProc = 5, Headers = "header1,header2"
URI 절에 Redirect 설정 동작시 Request url의 사용 여부를 결정할 수 있도록 RedirectNoSub 설정을 추가하였다.
N(default)일 경우 Redirect URI를 제외한 url을 뒤에 추가하게 된다.
Y일 경우 Redirect URI만 사용한다.
[예 16.5] URI 절 RedirectNoSub 설정 방법
*URI
uri1 Uri = "/redirect1/", Svrtype = HTML,
Redirect = "/test/",
RedirectNoSub = Y
설정 후 결과는 다음과 같다.
▨ 요청
http://domain/redirect1/redirect_test.html
▨ 응답
location: http://domain/test/
URI 절에 Ext 절의 설정을 확인할 수 있는 기능을 추가하였다.
Ext, GotoEXT(default N), StopIfNoEXT(default Y) 옵션이 추가되었다.
GotoEXT 설정은 EXT 절을 확인할지 여부를 결정한다.
StopIfNoEXT 설정은 GotoEXT=Y일 경우 적용되며, EXT 절에 해당 사항이 없을 경우 해당 URI를 적용할지 여부를 결정한다.
부가적으로 아래 예를 참고하면, uri2에 대한 요청에 EXT 절에 해당 사항이 없을 경우 그 이후 URI인 uri3을 확인하게 된다. uri1에 대한 요청일 경우는 EXT 절에 해당 사항이 없을 경우 uri1의 SvrType으로 처리하게 된다.
EXT 설정은 해당 EXT설정만 SvrType으로 처리하게 된다.
부가적으로 아래 예를 참고하면, uri4에 대한 요청에 gif 확장자일 경우 SvrType을 HTML로 처리하게 된다. 아닐 경우에는 다음 uri 설정으로 넘어간다.
[예 16.7] Uri 절 GotoEXT, StopIfNoExt 설정 방법
*URI uri1 Uri = "/jsvtest/", SvrType = JSV, GotoEXT = Y, GotoEXT = Y, StopIfNoEXT = Y uri2 Uri = "/", SvrType = JSV, GotoEXT = Y, StopIfNoEXT = N uri3 Uri = "/", Svrtype = JSV
[예 16.8] Uri 절 EXT 설정 방법
*URI
uri4 Uri = "/jsvtest/common/", SvrType = HTML,
Ext = "gif,jpg"
uri5 Uri = "/", Svrtype = JSV
Client와 CGI,PHP,JSV 프로세스 간의 FlowControl 기능을 추가하였다.
FlowControl을 사용하면, Client의 네트워크 속도가 느릴 경우에 메모리가 증가하는 현상이 발생하지 않는다.
설정은 FlowControlCGISToClient( default Y ), FlowControlClientToJEUS( default Y ) 두 가지이다. FlowControlCGISToClient는 CGIS와 PHPS에 대한 설정이며, FlowControlClientToJEUS는 JEUS에 대한 설정이다.
설정값이 N일 경우 FlowControl을 사용하지 않게 된다.
[예 16.9] FlowControl 설정 방법
*NODE
webmain WEBTOBDIR = "/usr/local/webtob",
...
# FlowControlCGISToClient = Y, #default Y
# FlowControlClientToJEUS = Y #default Y
WebtoB HTH의 메모리 사용량 확인 기능을 추가하였다.
DebugHTHMemory=Y 설정 후 wsadmin에서 hthmem을 실행하게 되면, $WEBTOBDIR/log/hthmem 디렉터리에 파일로 기록하게 된다.
wsadmin에서 st -h 실행 시 Current memory use, Max. memory use 정보도 확인이 가능하다.
[예 16.10] DebugHTHMemory 설정 방법
*NODE
webmain WEBTOBDIR = "/usr/local/webtob",
...
DebugHTHMemory=Y (default N)
CacheRefresh의 기본값을 0에서 3600(초)으로 변경하였다.
변경된 설정은 CacheRefreshImage, CacheRefreshHtml, CacheRefreshDir 이다.
[예 16.11] CacheRefresh 변경 내용
CacheRefreshImage = 3600, # (sec.), CacheRefreshHtml = 3600, # (sec.), CacheRefreshDir = 3600, # (sec.),
* 관련이슈 : IMS-45182
SvrChkTimeout의 기본값을 0에서 60으로 변경하였다.
SvrType이 JSV만 해당된다.
관련이슈 : IMS-57510
ValidHours의 규칙을 System Time의 00시를 기준으로 생성하도록 변경하였다.
[예 16.14] ValidHours 변경 내용
▨ 설정 ValidHours = 6 ▨ System Time 1. 10시 - 생성 ▨ 이전 규칙 accesslog_20101000 # 10시로 생성 ▨ 변경 규칙 accesslog_20100600 # 06시로 생성
관련이슈 : IMS-60349
EXT 절에 설정하지 않아도 Default로 생성되는 Extension에 @를 붙이도록 변경하였다.
Default Extension은 EXT 절에 설정하지 않아도 설정된 Svrtype에 의해 자동으로 생성된다.
Svrtype이 HTML인 경우에는 html, JSV인 경우에는 jsp, CGI인 경우에는 cgi, PHP인 경우에는 php이다.
[예 16.15] Default Extension 변경 내용
▨ st -s HTH 0: RDY ---------------------------------------------------------------------- svc_name count avg cq_count aq_count q_avg status ---------------------------------------------------------------------- @cgi 0 0.0000 0 0 0.0000 RDY uri1 0 0.0000 0 0 0.0000 NRDY @php 0 0.0000 0 0 0.0000 RDY @jsp 0 0.0000 0 0 0.0000 NRDY @html 0 0.0000 0 0 0.0000 RDY
Windows 플랫폼 바이너리의 FD를 1024에서 2048로 변경하였다.
관련이슈 : IMS-56280
Windows Service 실행 시 Console 실행과 구분이 되도록 하였다.
System Log 첫 라인에 "BOOT request from <Service Name>"이 출력되도록 하였다.
[예 16.17] Service 실행시 System Log 변경 내용
[2011/00/00:00:00:00] WSM-4316 I WSM0150: BOOT request from WebtoB.
관련이슈 : IMS-44972
Windows 플랫폼의 Service 등록 명령어를 변경하였다.
webtob_service.exe를 통해 등록 및 삭제를 하게된다.
[예 16.18] Windows Service help 내용
C:\TmaxSoft\WebtoB4.1\bin>webtob_service.exe -h webtob_service.exe -create|-delete [options...] -create Create a new WebtoB service -delete Delete an existing WebtoB service Options common to -create and -delete: -name <service> WebtoB service name. If not specified, use "WebtoB". Options specific to -create: -webtobdir <path> WebtoB base directory. If not specified, use environment variable WEBTOBDIR. -wsboot-opt <opt> Override default wsboot options. -wsdown-opt <opt> Override default wsdown options. -webtobdir, -wsboot-opt, -wsdown-opt are stored in Windows service registry. The WebtoB administrator can modify them to change service configuration. -h Print usage and quit. <Examples> Creating services: webtob_service.exe -create Creates service "WebtoB" using WEBTOBDIR as the WebtoB path and default wsboot, wsboot options webtob_service.exe -create -name "WebtoB-site1" -webtobdir "c:\webtob1" Creates service "WebtoB-site1" for WebtoB installed in "c:\webtob1" webtob_service.exe -create -name "WebtoB-site2" -wsboot-opt "-f site2_config" -wsdown-opt "-z -f site2_config" Creates service "WebtoB-site2" using non-default wsboot, wsdown options Removing services: webtob_service.exe -delete Removes service "WebtoB" webtob_service.exe -delete -name WebtoB-site1 Removes service "WebtoB-site1"
[예 16.19] Windows service 등록 및 삭제 내용
▧ service 등록 C:\TmaxSoft\WebtoB4.1\bin>webtob_service -create WebtoB path="C:\TmaxSoft\WebtoB4.1" Service command="C:\TmaxSoft\WebtoB4.1\bin\service_loader.exe" Service log="C:\TmaxSoft\WebtoB4.1\bin\service-WebtoB.log" wsboot command="wsboot -N WebtoB" wsdown command="wsdown -z -N WebtoB" Trying to create service WebtoB... Successfully installed service WebtoB ▧ service 삭제 C:\TmaxSoft\WebtoB4.1\bin>webtob_service -delete Trying to remove service WebtoB... Successfully deleted service WebtoB.
요청 URL의 길이가 2048 byte가 넘을 경우 AccessLog를 기록하는 과정에서 비정상 종료가 발생하였다.
이 경우 414 Request-URI Too Large 응답을 보내도록 수정하였다.
WebtoB 4.1 SP3 Fix#0 이하 버전에서 발생하는 오류 현상이다.
관련이슈 : IMS-55458
URL_Rewrite 설정에 R flag를 이용하여 https로 Redirect할 경우 https를 인식하지 못하고 http 뒤에 url를 붙여 쓰는 문제를 수정하였다.
오류 발생 현상은 다음과 같다.
▨ URL_Rewrite 설정
RewriteCond %{HTTP_HOST} ^domain:80$
RewriteRule . https://domain:443/index.html [R,L]
▨ Redirect Response Header
HTTP/1.1 302 Found
Date: Fri, 29 Jan 2010 07:18:31 GMT
Connection: close
Location: http://domain:80/https://domain:443/index.html
Content-Type: text/html
Content-Length: 140
WebtoB 4.1 SP2 Fix#0, WebtoB 4.1 SP3 Fix#0 버전에서 발생하는 오류 현상이다.
관련이슈 : IMS-56459
InternalHTMLS를 설정 후 IndexName 설정이 적용되지 않는 문제를 수정하였다.
WebtoB 4.1 SP3 Fix#0 버전에서 발생하는 오류 현상이다.
관련이슈 : IMS-56109
Log Level을 Trace로 환경설정 파일에 설정하거나 동적으로 설정할 경우 extension이 없는 요청이 오면 HTH가 죽는 문제를 수정하였다.
WebtoB 4.1 SP3 Fix#0 버전에서 발생하는 오류 현상이다.
관련이슈 : IMS-57052
Log Level을 Trace로 환경설정 파일에 설정 후 URLRewrite의 설정에 2번째 또는 3번째 argument가 없는 경우 HTH가 죽는 문제를 수정하였다.
▨ URL_Rewrite 설정 RewriteCond %{SERVER_PORT} 8410 RewriteCond %{SERVER_PORT} <- 3번째 argument가 없는 경우 RewriteCond %{REQUEST_URI} index.html [OR] RewriteRule . <- 2번째 argument가 없는 경우
WebtoB 4.1 SP3 Fix#0 버전에서 발생하는 오류 현상이다.
MimeTypesConfig 설정 파일 중 한 라인의 길이가 64byte이상일 경우 HTH가 죽는 문제를 수정하였다.
WebtoB 4.1 SP3 Fix#0 버전에서 발생하는 오류 현상이다.
관련이슈 : IMS-58146
Request의 Content-Length가 2G 이상일 경우 HTH가 죽는 문제를 수정하였다.
이 경우 413 Request Entity Too Large 응답을 보내도록 수정하였다.
WebtoB 4.1 SP3 Fix#0 이하 버전에서 발생하는 오류 현상이다.
Request의 Content-Length가 0일 경우 400 Bad Request 응답을 하는 문제를 수정하였다.
WebtoB 4.1 SP3 Fix#0 이하 버전에서 발생하는 오류 현상이다.
BlockListen을 설정한 Server가 suspend가 되어 HTL이 Port Block을 하기 전 Port Open 상태가 되면 Port가 Listen되지 않는 문제를 수정하였다.
WebtoB 4.1 SP3 Fix#0 이하 버전에서 발생하는 오류 현상이다.
관련이슈 : IMS-59118
ERRORDOCUMENT 설정 시 특정 상황에 무한 루프가 발생하는 상황을 판단하여 Redirect 되지 않도록 수정하였다.
WebtoB 4.1 SP3 Fix#0 이하 버전에서 발생하는 오류 현상이다.
관련이슈 : IMS-57759
MimeType 오류 관련 메시지를 HTH에서만 System Log에 기록하도록 수정하였다.
기존에는 설정된 Server에서 메시지를 기록하여 불필요한 로그가 발생하였다.
WebtoB 4.1 SP3 Fix#0 버전에서 발생하는 오류 현상이다.
관련이슈 : IMS-55433
JSESSIONID1, JSESSIONID2와 같이 설정할 경우 JSESSIONID로 인식되는 문제를 수정하였다.
WebtoB 4.1 SP2 Fix#0, WebtoB 4.1 SP3 Fix#0 버전에서 발생하는 오류 현상이다.
관련이슈 : IMS-57760
HP-UX 장비에서 HostName이 9자 이상이면 8자까지만 인식되는 문제를 수정하였다.
특정 API를 사용하여 HostName을 출력하면서 발생한 문제로 기존 ncpu정보 중 HOSTNAME1에서 문제가 발생하였다.
ncpu의 정보에 HOSTNAME1과 HOSTNAME2로 출력되는 것을 HOST NAME(기존 HOSTNAME2) 하나만 나타나도록 수정하였다.
WebtoB 4.1 SP3 Fix#0 이하 버전에서 발생하는 오류 현상이다.
관련이슈 : IMS-56217
PipeLine Request를 처리 중 순차적으로 처리가 되지 않는 경우가 발생하게 되는데, 그 순간 처리 중인 서버가 hang 상태가 되는 문제를 수정하였다.
오류 상태는 문제의 서버가 BRUN으로 보이며 실행 시간이 비정상적으로 높게 나타난다.
BRUN 상태는 BlockRun으로 처리 도중 클라이언트가 요청을 받아가지 않아 Block 상태임을 뜻하며 오류는 아니다.
WebtoB 4.1 SP3 Fix#0 버전에서 발생하는 오류 현상이다.
관련이슈 : IMS-60558