WebtoB 설정파일에 어떠한 설정을 할 수 있고 기본적인 구조에 대해 알아보도록 하겠습니다.
가장 기본적인 서비스를 수행할 수 있는 WebtoB 5 버전 설정파일을 가져와봤습니다.
[webtob5@CentOS7-WAS1 config]$ cat http.m
*DOMAIN
webtob1
*NODE
CentOS7-WAS1 WEBTOBDIR = "/sw/webtob5",
DOCROOT = "/sw/webtob5/docs",
PORT = "80",
SHMKEY = 54000,
HTH = 1,
ServiceOrder = "uri,ext",
UpperDirRestrict = Y,
ERRORDOCUMENT = "400,401,403,404,405,503",
JSVPORT = 9900,
LOGPERM = 0600,
LOGGING = "acc_node",
ERRORLOG = "err_node",
SYSLOG = "syslog"
*VHOST
v_http DOCROOT = "/sw/webtob5/docs",
HOSTNAME = "www.nxcore.com",
HOSTALIAS = "192.168.1.11",
PORT = "80",
ServiceOrder = "uri,ext",
ERRORDOCUMENT = "400,401,403,404,405,503",
URLRewrite = Y,
URLRewriteConfig = "config/rewrite.conf",
LOGGING = "acc_http",
ERRORLOG = "err_http"
v_https DOCROOT = "/sw/webtob5/docs",
HOSTNAME = "www.nxcore.com",
PORT = "443",
ServiceOrder = "uri,ext",
ERRORDOCUMENT = "400,401,403,404,405,503",
SSLFLAG = Y,
SSLNAME = "ssl1",
LOGGING = "acc_https",
ERRORLOG = "err_https"
*SSL
ssl_erp CertificateFile = "/sw/webtob5/ssl/cert.pem",
CertificateKeyFile = "/sw/webtob5/ssl/privkey.pem",
CertificateChainFile = "/sw/webtob5/ssl/chain.pem",
CACertificateFile = "/sw/webtob5/ssl/fullchain.pem",
PassPhraseDialog = "file:/sw/webtob5/ssl/passwd",
Protocols = "-SSLv2, -SSLv3, -TLSv1, -TLSv1.1, TLSv1.2, TLSv1.3",
RequiredCiphers = "HIGH:MEDIUM:!SSLv2:!PSK:!SRP:!ADH:!AECDH:!EXP:!RC4:!IDEA:!3DES"
*HTH_THREAD
hth_worker SendfileThreads = 4,
AccessLogThread = Y,
SendfileThreshold = 0,
WorkerThreads = 8
*SVRGROUP
g_svrg SVRTYPE = JSV, VhostName = "v_http, v_https"
*SERVER
svr1 SVGNAME = g_svrg, MinProc = 50, MaxProc = 50
svr2 SVGNAME = g_svrg, MinProc = 50, MaxProc = 50
*URI
u_svr2 Uri = "/hello", Svrtype = JSV, VhostName = "v_http, v_https"
u_svr1 Uri = "/", Svrtype = JSV, VhostName = "v_http, v_https", GotoEXT = Y
*LOGGING
syslog Format = "SYSLOG", FileName = "/sw/webtob5/log/system/system_%Y%%M%%D%.log", Option = "sync"
acc_node Format = "COMBINED", FileName = "/sw/webtob5/log/node/access_%Y%%M%%D%.log", Option = "sync"
err_node Format = "ERROR", FileName = "/sw/webtob5/log/node/error_%Y%%M%%D%.log", Option = "sync"
acc_http Format = "COMBINED", FileName = "/sw/webtob5/log/http/access_%Y%%M%%D%.log", Option = "sync"
err_http Format = "ERROR", FileName = "/sw/webtob5/log/http/error_%Y%%M%%D%.log", Option = "sync"
acc_https Format = "COMBINED", FileName = "/sw/webtob5/log/https/access_%Y%%M%%D%.log", Option = "sync"
err_https Format = "ERROR", FileName = "/sw/webtob5/log/https/error_%Y%%M%%D%.log", Option = "sync"
*ERRORDOCUMENT
400 status = 400, url = "/error.html"
401 status = 401, url = "/error.html"
402 status = 402, url = "/error.html"
403 status = 403, url = "/error.html"
404 status = 404, url = "/error.html"
405 status = 405, url = "/error.html"
503 status = 503, url = "/error.html"
*EXT
jsp SvrType = JSV, MimeType = "application/jsp", Options = "unset"
htm SvrType = HTML, MimeType = "text/html"
html SvrType = HTML, MimeType = "text/html"
css SvrType = HTML, MimeType = "text/css"
js SvrType = HTML, MimeType = "application/x-javascript"
txt SvrType = HTML, MimeType = "text/plain"
ico SvrType = HTML, MimeType = "image/x-icon"
gif SvrType = HTML, MimeType = "image/gif"
jpg SvrType = HTML, MimeType = "image/jpeg"
png SvrType = HTML, MimeType = "image/png"
*DOMAIN, *VHOST, *URI 와 같이 앞에 ' * ' 문자를 붙여서 선언하는 부분을 '절' 이라고 합니다.
*VHOST 는 VHOST 절, *URI 는 URI 절 이라고 부릅니다.
DOMAIN, NODE, HTH_THREAD 절은 설정파일에 반드시 선언되어 있어야 하며,
기본적인 서비스를 정상적으로 수행하려면 위에서 예시로 보여드린 각 절들이 선언되어 있는 것이 좋습니다.
' * ' 문자를 써서 절의 시작을 선언한 경우, 다음 ' * ' 문자가 사용되어 다른 절이 선언되기 전까지 해당 절의 설정으로 인식합니다.
각 절의 순서는 정해져 있지 않으므로 순서 상관 없이 원하는 위치에 절을 선언할 수 있습니다.
절은 2회 이상 선언할 수 있으나, 설정파일의 가독성을 위해 1회만 선언하는 것이 좋습니다.
[*DOMAIN 절]
DOMAIN 절은 멀티 도메인 사용 시 설정을 수정하여 사용합니다. (한 서버 내 여러 WebtoB 를 사용하는 등)
잘 사용하지 않는 부분이므로 기본 설정 그대로 사용하시면 됩니다.
[*NODE 절]
기본 서비스 설정 및 WebtoB 기능에 대한 설정을 하는 부분입니다.
*NODE 절 에서는 서비스 설정을 하지 않고 *VHOST 절에 설정해서 사용하는 것이 대부분이므로 *NODE 절에서는 서비스를 하지 않고 기본 설정만 해둔다고 보면 되며, WebtoB 메인 기능들에 대한 옵션을 설정하는 부분이라고 보면 됩니다.
*NODE 절에서 기본 동작 설정 (*VHOST 절에 선언하지 않는 옵션들의 기본 설정) 과 WebCache 설정, 버퍼 크기, HTTP/2 사용 설정, 다른 소프트웨어 (WAS 등) 연동 포트 설정 등을 할 수 있습니다.
[*VHOST 절]
처음 서버로 요청이 유입되면 어떠한 서비스로 인식 후 처리할 지 설정할 수 있습니다.
DocRoot : VHOST 로 유입된 요청의 기본 Document Root 입니다. 웹 자원 경로를 설정합니다.
HostName(HostAlias) : 사용자가 어떤 도메인 또는 IP 로 서비스를 요청했는지 체크하는 설정입니다.
Port : 서비스 요청을 받을 서버 포트를 설정할 수 있습니다. 미설정 시 80 포트를 사용하며, SSL 사용 설정이 되어 있는 경우 443 포트를 사용합니다.
ServiceOrder : 해당 VHOST 로 유입된 요청을 처리할 때 URI 절 설정을 먼저 처리할 지, EXT 절 설정을 먼저 처리할 지 설정할 수 있습니다.
[*SSL 절]
SSL/TLS 사용을 위한 인증서 설정 및 Protocol, Cipher Suite 를 설정할 수 있습니다.
[*HTH_THREAD 절]
요청이 WebtoB 에서 처리될 때, 처리 프로세스 인 HTH 프로세스의 Thread 를 어떠한 방식으로 운영할 지 설정할 수 있습니다.
Static Resource (정적 자원) 를 처리하는 경우, Compression (압축) 응답에 대해 *HTH_THREAD 절에서 설정할 수 있습니다.
대부분 기본 설정으로 운영합니다.
[*SVRGROUP 절]
서비스 처리를 수행하는 서버들의 그룹 설정입니다.
해당 서버 그룹이 어떤 타입 (JSV, HTML 등) 으로 처리할 지 설정할 수 있고, 어떤 VHOST 와 연결될 지 설정할 수 있습니다.
로드밸런스 설정을 추가하여 특정 서버를 백업 서버로 지정하여 운용하거나, WAS 서버간 성능차이가 있는 경우 로드밸런스 비율을 조정하여 특정 WAS 에 부하를 더 분배하는 식으로 처리 설정을 할 수 있습니다.
[*SERVER 절]
요청에 대한 처리를 수행할 실제 서버를 설정할 수 있습니다.
서버가 어떤 서버그룹에 소속되어 있을지, 몇 개의 커넥션을 사용할 지 설정할 수 있으며, 부하가 심할 경우 유지할 최대 요청 큐 크기 등을 설정할 수 있습니다.
*SERVER 절에 설정된 서버 이름을 JEUS 와 연동할 때 사용합니다.
[*URI 절]
클라이언트가 요청한 URI 경로에 대해 어떤 처리를 할 지 설정할 수 있습니다.
특정 경로로 요청되었을 경우, 특정 서버에서 처리하도록 설정하거나, 다른 주소로 Redirect 하도록 설정을 할 수 있습니다.
GotoEXT 옵션이 Y 로 설정된 경우, EXT 절에 설정된 사항들을 먼저 체크하게 됩니다.
[*EXT 절]
클라이언트가 요청한 확장자에 대해 어떤 처리를 할 지 설정할 수 있습니다.
특별한 구성 요건이 있는 경우를 제외, *EXT 절 설정에는 Static Resource (정적 자원) 의 확장자를 선언, SvrType 을 HTML 로 설정하여 WebtoB 에서 처리할 확장자들을 설정하게 됩니다.
** 주의 : jsp 확장자에 대한 설정이 없는 경우, 기본 jsp 처리 설정이 자동으로 추가 설정되므로, jsp 확장자를 설정 후 Options = "unset" 을 추가해서 *EXT 절에서 jsp 확장자가 처리되지 않도록 설정해야 합니다.
[*LOGGING 절]
로그에 대한 설정을 할 수 있습니다.
NODE 와 각 VHOST 들의 Access 로그, Error 로그 포맷, 로그 생성 경로를 설정할 수 있습니다.
SYSLOG 포맷으로 설정된 로그는 WebtoB 동작에 대한 로그를 기록합니다.
[*ERRORDOCUMENT 절]
HTTP 처리 오류가 발생했을 때, 각 HTTP Code 별 응답할 주소를 설정할 수 있습니다.
WebtoB 에서 오류가 발생했을때만 적용되는 설정임을 주의해야 합니다.
'Middleware > WebtoB' 카테고리의 다른 글
WebtoB SSL/TLS 인증서 적용 방법 (+사설인증서 생성 방법) (0) | 2023.03.15 |
---|---|
WebtoB 요청 처리 순서 (http.m 설정파일 보는 법) (0) | 2023.03.09 |
WebtoB - Linux 에서 1024 이하 well-known 포트를 사용하도록 설정하기 (0) | 2023.03.03 |
WebtoB 기본 운영 가이드 (설정파일 컴파일, 기동 및 종료) (1) | 2023.03.03 |
WebtoB WBSSL(OpenSSL) 버전 정보 확인 (0) | 2023.03.03 |
댓글