기본 구조
WebtoB 환경 설정은 하나의 WebtoB 노드(Node)와 웹 서버의 동작에 대해 설정합니다.
WebtoB의 환경 설정 파일은 YAML과 JSON 포맷을 지원합니다. 이때 "절 이름", "항목 이름", "설정값"으로 구성됩니다.
다음은 JSON 포맷의 설정 형태입니다.
"절 이름": {
"항목 이름" : 설정값,
...,
"항목 이름" : 설정값
}
절을 시작한 이후 정의할 이름을 설정하고, 각 절에서 설정할 수 있는 각각의 항목을 설정합니다.
|
환경 설정은 포맷에 따라 JSON 또는 YAML 작성 규칙에 준수해서 설정합니다. |
다음은 JSON 포맷의 설정 예시입니다.
{
"node": {
"name": "webtob_node",
"hth_count": 1,
"worker_threads": 8
},
"server": {
"http": {
"common_config": {
"doc_root": "docs",
"access_log": "access_log1"
},
"http_servers": [
{
"name": "http1",
"port": 8080,
"enable_ssl": true,
"ssl_name": [
"ssl1"
]
}
]
},
"wjp": {
"port": 9900,
"wjp_servers": [
{
"name": "MyGroup1"
}
]
}
},
"logging": {
"access_log": [
{
"name": "access_log1",
"level": "INFO",
"format": "DEFAULT",
"handlers": {
"file_handler": {
"file_name": "logs/access.log"
}
}
}
],
"error_log": {
"level": "INFO",
"handlers": {
"file_handler": {
"file_name": "logs/errors.log"
}
}
},
"system_log": [
{
"name": "webtob",
"level": "INFO",
"handlers": {
"file_handler": {
"file_name": "logs/webtob.log"
}
}
]
},
"destination": {
"jeus": [
{
"name": "MyGroup1"
}
],
"reverse_proxy": {
"reverse_proxy_group": [
{
"name": "rproxyg1",
"reverse_proxy_server": [
{
"address": "internal.server:80",
"name": "rproxy1"
}
]
}
]},
"htmls": [
{
"name": "htmls1"
}
]
},
"service": {
"uri": [
{
"name": "uri1",
"target_http_servers": [
"http1"
],
"match": {
"type": "prefix",
"target": "/rproxy",
"rewrite": "/"
},
"destination": {
"type": "REVERSE_PROXY",
"target": "rproxyGroup1"
}
}
],
"ext": [
{
"name": "ext1",
"target_http_servers": [
"*"
],
"match": {
"type": "exact",
"target": "text/html"
},
"destination": {
"type": "JEUS",
"target": "MyGroup1"
}
}
]
},
"ssl": {
"ssl_configs": [
{
"name": "ssl1",
"certificate_file": "server.crt",
"certificate_key_file": "key.crt"
}
]
}
}
설정 가능한 절의 종류
다음은 WebtoB에서 설정해야 하는 절에 대한 설명입니다.
| 절 | 설명 |
|---|---|
클라이언트가 접속을 시도할 때 IP 주소, 네트워크/넷마스크, 헤더 정보를 기준으로 요청의 허용 여부를 설정합니다. |
|
실제 서버의 물리적 디렉터리 경로와 URI를 연결하도록 설정합니다. |
|
클라이언트 요청을 실제로 처리할 내부 서버에 대해 설정합니다. |
|
에러 문제가 발생했을 때 대응 방법을 설정합니다. |
|
Filter 모듈을 사용할 FILTER 절을 설정합니다. |
|
HTTP 요청 및 응답의 헤더를 제어할 때 설정합니다. |
|
클라이언트의 요구 내역을 기록하는 형식을 지정합니다. |
|
WebtoB 노드에 대한 구체적인 환경에 대해 설정합니다. |
|
클라이언트가 접속할 수 있는 정보에 대해 설정합니다. |
|
HTTP 요청을 처리할 내부 서버를 요청의 URI, EXT 기반으로 지정합니다. |
|
WebtoB에서 사용할 SSL의 기능을 설정합니다. |
|
DESTINATION, SERVER, SERVICE 절은 반드시 설정해야 합니다. |
설정 항목 값의 형식 및 설정 방법
항목의 설정값은 항목에 따라 object, integer, string, boolean, array 형식으로 설정하며, 각각 다음과 같이 설정합니다.
| 종류 | 설명 |
|---|---|
object |
하위에 여러 설정을 갖는 경우 설정합니다.
|
integer |
숫자를 설정합니다. |
string |
문자열을 설정합니다. |
boolean |
true 또는 false로 설정합니다. |
array |
동일한 형식의 설정을 여러 개 설정합니다. 대괄호([ ])로 묶어서 각 설정을 콤마(,)로 구분하거나, 개행 후 하이픈(-)으로 구분하여 표현할 수 있습니다. |
|
본 안내서에서 설명하는 설정 항목의 내용을 제대로 이해하려면, 아래의 기본 규칙을 먼저 숙지해야 합니다.
|