SERVER 절

SERVER 절에서는 WebtoB가 클라이언트의 요청을 받을 수 있는 접속 정보(Port, SSL 등)를 설정합니다.

기본적으로 WebtoB에서 요청을 처리할 수 있는 프로토콜마다 SERVER 절에 설정해야 합니다.

WebtoB에서 제공하는 SERVER 타입으로는 'http', 'wjp', 'admin'이 있으며, 각각 타입에 대해서 세부적으로 설정할 수 있습니다.

설정 항목

다음은 SERVER 절의 환경 설정 형식입니다.

"server": {
    "http": {
        #"common_config": {                             # COMMON
            #"doc_root": string,                        # "docs/", $ENV, R.PATH
            #"error_document": [string],
            #"enable_keepalive": boolean,               # true
            #"keepalive_timeout": integer,              # 60 (1-3600)
            #"keepalive_max": integer                   # 0 (0-INT_MAX)
            #"keepalive_error_status_code": [integer]
            #"service_order": string,                   # "uri,ext"
            #"access_log": string
            #"headers": [string]
            #"enable_dos_block": boolean                # false
            #"dos_block_table_size": integer            # 3097 (1-INT_MAX)
            #"dos_block_page_count": integer            # 5 (0-INT_MAX)
            #"dos_block_page_interval": integer         # 1 (1-INT_MAX)
            #"dos_block_site_count": integer            # 50 (0-INT_MAX)
            #"dos_block_site_interval": integer         # 1 (1-INT_MAX)
            #"dos_block_period": integer                # 30 (1-INT_MAX)
            #"dos_block_white_list": [string]
            #"url_rewrite_config": string
            #"alias": [string]
            #"index_name": string                       # "index.html"
            #"filters": [string]
            #"rpaf_header": string
            #"enable_directory_index": boolean          # true
        },
        "http_servers": [
            {
                #"common_config": {...},                # COMMON
                "name": string,
                #"port": integer,                       # 80 | 443 (1-65535)
                #"enable_ssl": boolean,                 # false
                #"ssl_name": [string],
                #"idle_timeout": integer                # 300 (1-3600)
                #"initial_connection_timeout": integer  # 10 (0-INT_MAX)
                #"request_header_timeout": integer      # 60 (0-INT_MAX)
                #"request_body_timeout": integer        # 0 (0-INT_MAX)
                #"idle_timeout_status": integer         # 500 (511-599)
                #"vhosts": [
                    {
                        #"common_config": {...},        # COMMON
                        "name": string,
                        "host_name": [string]
                    }
                ]
            }
        ],
        #"mime_type_file": string,                      # "mime.types"
        #"default_mime_type": string                    # "text/html"
    },
    #"wjp": {
        "wjp_servers": [
            {
                "name": string,
                #"min_proc": integer,                   # 1 (1-INT_MAX)
                #"max_proc": integer,
                #"svr_chk_time": integer                # 60 (0-3600)
                #"flow_control": integer                # 50 (1-INT_MAX)
                #"max_jengine_count": integer           # 64 (1-INT_MAX)
                #"ping_timeout_status": integer         # 503 (511-599)
            }
        ],
        #"port": integer,                               # 9900 (1-65535)
        #"enable_ssl": boolean,                         # false
        #"ssl_name": string
    }

    #"admin": {
        #"port": integer                                # 9090 (1-65535)
        #"access_log": string
    }

    #"tcp": {
        "tcp_servers": [
            {
                "name": string
                "port": integer                         # (1-65535)
                "server_address": [string]
                #"idle_timeout": integer                # 300 (0-INT_MAX)
                #"initial_connection_timeout"           # 10 (0-INT_MAX)
            }
        ]
    }

절과 설정 항목의 구성에 대한 기호나 내용에 대한 자세한 내용은 설정 항목 값의 형식 및 설정 방법을 참고합니다.

http (필수 항목)

HTTP 요청을 처리하기 위한 접속 정보를 설정합니다.

구분 설명

자료형

object

http/common_config

HTTP 서버의 공통적인 설정입니다. 상위 항목에 설정하면 하위 항목에는 설정하지 않아도 상위 항목의 설정이 반영됩니다.

구분 설명

자료형

object

설정 우선순위

설정할 때 적용되는 우선순위는 다음과 같습니다.

  1. vhosts

  2. http_servers

  3. http

http/common_config/doc_root

서비스할 문서가 위치한 최상위 경로를 설정합니다.

환경 변수를 사용할 수 있으며, 상대 경로로 설정한 경우 $WEBTOB6_HOME_PATH를 기준으로 절대 경로로 변환하여 설정됩니다.

구분 설명

자료형

string

범위

255자 이내

기본값

"docs"

다음은 doc_root 설정 예시입니다.

  "server": {
    "http": {
      "common_config": {
        "doc_root": "docs",
}

common_config와 이후에 나올 http_servers에서 모두 doc_root를 설정한 경우 http_servers > common_config 순으로 http_servers 설정이 우선 적용됩니다.

http/common_config/error_document

HTTP 에러 페이지를 사용자가 지정한 페이지로 대신 사용할 경우 ERRORDOCUMENT 절에 정의한 이름을 설정합니다.

구분 설명

자료형

array(string)

범위

64개 이내(255자 이내)

다음은 error_document 설정 예시입니다. 이때 error_document 목록에서 설정할 error_document의 이름을 문자열 형식으로 작성하고, 설정할 error_document는 error_document 절에 명시되어 있어야 합니다.

  "server": {
    "http": {
      "common_config": {
        "error_document": ["error1"]
  ...
  "error_document": {
    "error_document_list": [
      {
        "name": "error1",
        "status": 404,
        "url": "/htmls/not_found.html"
      }
    ]
  },

http/common_config/enable_keepalive

Keepalive(HTTP persistent connection) 사용 여부를 설정합니다.

구분 설명

자료형

boolean

기본값

true

다음은 설정값에 대한 설명입니다.

설정값 설명

true

사용자는 연결을 재사용하여 한 번의 연결로 여러 개의 요청을 처리할 수 있습니다.

false

사용자는 요청을 처리하기 위해 매번 소켓을 다시 연결해야 합니다.

다음은 enable_keepalive 설정 예시입니다. keepalive_timeout과 keepalive_max를 설정하기 위해서는 enable_keepalive를 true 설정해야 합니다.

  "server": {
    "http": {
      "common_config": {
        "enable_keepalive": true,
        "keepalive_timeout": 60,
        "keepalive_max":0,
      },

http/common_config/keepalive_timeout

Keepalive를 유지하는 시간을 설정합니다. 사용자 요청 처리가 끝난 후 설정된 시간이 지나면 연결을 끊습니다.

구분 설명

자료형

integer

단위

범위

1 ~ 3600

기본값

60

다음은 keepalive_timeout 설정 예시입니다.

  "server": {
    "http": {
      "common_config": {
        "enable_keepalive": true,
        "keepalive_timeout": 10,
        "keepalive_max":0,
      },

wsadmin의 ci에서 Idle_time을 통해 연결 시간을 확인할 수 있습니다. 브라우저에서 호출할 경우 각 브라우저마다 연결 시간 정책이 있기 때문에 keepalive_timeout 설정값보다 먼저 연결이 끊길 수 있습니다.

[wsadmin]>> ci
---------------------------------------------------------------------------------------------------------------------------------
| HTH-0 : Connection info                                                                                                       |
---------------------------------------------------------------------------------------------------------------------------------
| No | Server |    Local Address    |   Remote Address    | Remote Type | Ssl | Status | Request Count | Idle Time | Mapping No |
---------------------------------------------------------------------------------------------------------------------------------
| 5  | http1  | 192.168.0.1:80 | 192.168.0.51:50965 |   CLIENT    | No  | READY  |       0       |     7     |     -1     |
---------------------------------------------------------------------------------------------------------------------------------

http/common_config/keepalive_max

Keepalive 요청 건수를 제한할 경우 설정합니다.

구분 설명

자료형

integer

범위

0 ~ INT_MAX

기본값

0

다음은 설정값에 대한 설명입니다.

설정값 설명

0

요청 건수를 제한하지 않습니다.

다음은 keepalive_max 설정 예시입니다.

  "server": {
    "http": {
      "common_config": {
        "enable_keepalive": true,
        "keepalive_timeout": 60,
        "keepalive_max":2,
      },

wsadmin의 ci에서 Request Count를 통해 연결 횟수을 확인할 수 있습니다.

[wsadmin]>> ci
---------------------------------------------------------------------------------------------------------------------------------
| HTH-0 : Connection info                                                                                                       |
---------------------------------------------------------------------------------------------------------------------------------
| No | Server |    Local Address    |   Remote Address    | Remote Type | Ssl | Status | Request Count | Idle Time | Mapping No |
---------------------------------------------------------------------------------------------------------------------------------
| 5  | http1  | 192.168.0.1:80 | 192.168.0.51:50965 |   CLIENT    | No  | READY  |       0       |     7     |     -1     |
---------------------------------------------------------------------------------------------------------------------------------

http/common_config/keepalive_error_status_code

에러 응답을 보낸 이후 사용자 연결을 유지(persistent connection, keep-alive)하는 경우 해당되는 HTTP 상태 코드를 설정합니다.

구분 설명

자료형

array(integer)

범위

64개 이내(300 - 303 | 305 - 599)

WebtoB가 사용자 요청에 대해 "304 Not Modified"를 제외한 3xx나 4xx 또는 5xx HTTP 상태 코드로 응답할 경우 연결을 유지하지 않고 응답을 보낸 이후 연결을 종료합니다.

다음은 "302 Found"와 "404 Not Found" 응답을 보낸 후 WebtoB가 클라이언트의 연결을 종료하지 않고 유지하는 예시입니다.

  ...
  "server": {
    "http": {
      "common_config": {
        "enable_keepalive": true,
        "keepalive_timeout": 60,
        "keepalive_max":0,
        "keepalive_error_status_code": [302, 404],
      },
  ...

http/common_config/service_order

사용자 요청을 처리할 Destination을 결정할 때 SERVICE 절의 URI, EXT 간 우선순위를 설정합니다.

구분 설명

자료형

string

범위

"uri,ext" | "ext,uri"

기본값

"uri,ext"

다음은 설정값에 대한 설명입니다.

설정값 설명

uri,ext

URI 설정을 먼저 확인하고, 해당되는 설정이 없는 경우 EXT의 설정을 확인합니다.

ext,uri

EXT 설정을 먼저 확인하고, 해당되는 설정이 없는 경우 URI의 설정을 확인합니다.

URI 설정과 EXT 설정 모두 해당되지 않을 경우 기본 HTML 서비스(Worker Thread)에서 해당 요청을 처리합니다.

다음은 service_order 설정 예시입니다.

  ...
  "server": {
    "http": {
      "common_config": {
        "service_order: : "uri,ext"
      },
  ...

http/common_config/access_log

액세스 로그에 해당되는 LOGGING 절 이름을 설정합니다.

구분 설명

자료형

string

범위

255자 이내

다음은 access_log 설정 예시입니다. 설정값으로 지정한 access_log는 logging 절의 access_log 항목에 정의되어 있어야 합니다.

  ...
  "server": {
    "http": {
      "common_config": {
        "access_log": "access_log1"
      },
      ...
  "logging": {
    "access_log": [
      {
        "name": "access_log1",
        "level": "INFO",
        "format": "DEFAULT",
        ...
  ...

http/common_config/headers

적용할 HEADERS 절 이름을 설정합니다.

구분 설명

자료형

array(string)

범위

15개 이내(255자 이내)

다음은 headers 설정 예시입니다. headers 절에 있는 headers_list에서 적용할 헤더의 이름을 문자열 형식으로 설정합니다. 이때 여러 개의 헤더를 설정할 수 있습니다.

  ...
  "server": {
    "http": {
      "common_config": {
        "headers": ["header1","header2"]
      },
  ...
  "headers": {
    "headers_list": [
      {
        "name": "header1",
        "action": "AppendResponse",
        "field_name": "Content-Type",
        "field_value": "; charset=ISO"
      },
      {
        "name": "header2",
        "action":"AddRequest",
        "field_name":"Accept-Encoding",
        "field_value":"GZIP"
      },
    ]
  }

http/common_config/enable_dos_block

DoS 공격 차단 기능의 사용 여부를 설정합니다.

구분 설명

자료형

boolean

기본값

false

다음은 enable_dos_block 설정 예시입니다. DoS 공격 차단 기능을 사용하려면 true로 설정합니다.

  ...
  "server": {
    "http": {
      "common_config": {
          ...
          "enable_dos_block":true,
          "dos_block_table_size":3097,
          "dos_block_site_count":50,
          "dos_block_site_interval":1,
          "dos_block_period":30
          ...
      },
  ...

http/common_config/dos_block_table_size

DoS 공격 차단 기능에서 DoS 공격으로 판단할 IP 주소의 최대 개수를 설정합니다. 이때 설정값보다 초과하여 들어오는 IP 주소는 모두 차단합니다.

구분 설명

자료형

integer

범위

1 ~ INT_MAX

기본값

3097

테이블은 HTH별로 관리되므로, HTH 값을 1보다 크게 설정하면 관리하는 IP 주소의 수는 "dos_block_table_size × hth_count"가 된다.

다음은 dos_block_table_size 설정 예시입니다. 들어오는 IP는 개별적으로 관리되지 않고, IP별로 객체로 관리됩니다. 예를 들어 192.168.0.1과 192.168.0.2가 들어오면 각각의 IP가 별도의 객체로 관리됩니다.

  ...
  "server": {
    "http": {
      "common_config": {
          ...
          "enable_dos_block":true,
          "dos_block_table_size":3097,
          "dos_block_site_count":50,
          "dos_block_site_interval":1,
          "dos_block_period":30
          ...
      },
  ...

http/common_config/dos_block_page_count

같은 페이지에 대한 요청 횟수를 설정합니다.

dos_block_page_interval 설정 시간 동안 같은 페이지를 설정된 횟수 이상 요청한 사용자 IP 주소를 dos_block_period 동안 차단합니다.

구분 설명

자료형

integer

범위

1 ~ INT_MAX

기본값

5

다음은 설정값에 대한 설명입니다.

설정값 설명

0

같은 페이지에 대한 DoS 공격을 체크하지 않습니다.

다음은 dos_block_page_count 설정 예시입니다. interval 내에 count(5개)보다 많은 요청이 발생하면 해당 IP 주소를 차단합니다. dos_block_page_count는 dos_block_page_interval과 함께 사용됩니다.

  ...
  "server": {
    "http": {
      "common_config": {
          ...
          "enable_dos_block":true,
          "dos_block_table_size":1,
          "dos_block_page_count":5,
          "dos_block_page_interval":1,
          "dos_block_period":30,
          ...
      },
  ...

http/common_config/dos_block_page_interval

같은 페이지에 대한 DoS 공격을 판단하는 주기를 설정합니다.

구분 설명

자료형

integer

단위

범위

1 ~ INT_MAX

기본값

1

다음은 dos_block_page_interval 설정 예시입니다. interval(100초) 내에 count보다 많은 요청이 발생하면 해당 IP 주소를 차단합니다. dos_block_page_interval은 dos_block_page_count와 함께 사용됩니다.

  ...
  "server": {
    "http": {
      "common_config": {
          ...
          "enable_dos_block":true,
          "dos_block_table_size":1,
          "dos_block_page_count":5,
          "dos_block_page_interval":1,
          "dos_block_period":30,
          ...
      },
  ...

http/common_config/dos_block_site_count

사이트 전체에 대한 요청 횟수를 설정합니다.

dos_block_site_interval 설정 시간 동안 사이트의 모든 페이지를 설정된 횟수 이상 요청한 사용자 IP 주소를 dos_block_period 동안 차단합니다.

구분 설명

자료형

integer

범위

1 ~ INT_MAX

기본값

50

다음은 설정값에 대한 설명입니다.

설정값 설명

0

사이트 요청에 대한 DoS 공격을 체크하지 않습니다.

http/common_config/dos_block_site_interval

같은 사이트에 대한 DoS 공격을 판단하는 주기를 설정합니다.

구분 설명

자료형

integer

단위

범위

1 ~ INT_MAX

기본값

1

http/common_config/dos_block_period

특정 사용자 IP 주소가 차단되는 기간을 설정합니다.

구분 설명

자료형

integer

단위

범위

1 ~ INT_MAX

기본값

30

http/common_config/dos_block_white_list

DoS 공격 차단에서 제외한 IP 주소를 설정합니다. 앞단에 프록시 서버를 사용할 경우 해당 서버의 IP 주소를 설정합니다.

구분 설명

자료형

array(string)

범위

256개 이내(255자 이내)

기본값

30

다음은 dos_block 설정 예시입니다. 이 경우 table_size(1)의 IP 주소가 interval(100초) 동안 count(3개)보다 많은 요청이 발생하면 해당 IP 주소를 period(100초)동안 차단합니다. 단, white_list에 있는 IP 주소는 DoS 차단 관리 IP 주소에서 제외합니다.

  ...
  "server": {
    "http": {
      "common_config": {
          ...
          "enable_dos_block":true,
          "dos_block_table_size":1,
          "dos_block_site_count":3,
          "dos_block_site_interval":100,
          "dos_block_period":100,
          "dos_block_white_list":["192.168.0.1"],
          ...
      },
  ...

http/common_config/url_rewrite_config

URL 재작성 기능을 사용하기 위한 설정 파일의 경로를 설정합니다.

구분 설명

자료형

string

범위

255자 이내

다음은 url_rewrite_config 설정 예시입니다. 해당 경로에 정규식으로 작성된 설정 파일을 위치시킵니다.

  ...
  "server": {
    "http": {
      "common_config": {
          ...
          "url_rewrite_config":"/home/tmax/webtob6/config/rewrite9.conf",
          ...
      },
  ...

http/common_config/alias

특정 요청의 URI를 realpath로 변경하려면 ALIAS 절에 정의한 이름을 설정합니다.

구분 설명

자료형

array(string)

범위

64개 이내(255자 이내)

다음은 alias 설정 예시입니다. 이 경우 url(/external/path/)을 호출했을 때 real_path(/home/tmax/webtob6/docs/)로 호출됩니다.

  ...
  "server": {
    "http": {
      "common_config": {
          ...
            "alias": {
              "alias_list":[
                {
                  "name":"alias1",
                  "url":"/external/path/",
                  "real_path":"/home/tmax/webtob6/docs/"
                }
              ]
            }
          ...
      },
  ...

http/common_config/index_name

디렉터리에 대한 요청을 하는 경우 기본으로 처리할 문서의 이름을 설정합니다. 예를 들어 클라이언트가 보낸 요청이 "/somedir/"이고, 해당 경로가 디렉터리인 경우 "/somedir/index.html"을 서비스합니다.

구분 설명

자료형

string

범위

255자 이내

기본값

"index.html"

http/common_config/filters

요청을 처리할 때 아래와 같은 이벤트 발생 시 적용할 필터를 설정합니다.

AFTER_SEND_REQUEST, AFTER_SEND_RESPONSE, BEFORE_SEND_REQUEST, BEFORE_SEND_RESPONSE, RECEIVE_REQUEST, RECEIVE_RESPONSE
구분 설명

자료형

array(string)

범위

15개 이내(255자 이내)

http/common_config/rpaf_header

프록시 등을 거치면서 변경된 원격 IP 주소의 값을 원래 요청이 발생된 호스트 값으로 설정합니다.

구분 설명

자료형

string

범위

255자 이내

rpaf_header 추가를 통해 사용자가 헤더 지정이 가능하고, rpaf_header가 설정된 헤더가 들어올 경우 헤더의 IP 주소 값으로 원격 IP를 변경합니다.

access.log에서 설정된 원격 IP 주소를 확인할 수 있습니다.

"rpaf_header" = "X-Forwarded-For"

http/common_config/enable_directory_index

디렉터리에 대한 요청을 처리할 때 index_name 파일이 존재하지 않을 경우 Directory Index 기능의 사용 여부를 설정합니다.

구분 설명

자료형

boolean

기본값

true

http/http_servers (필수 항목)

HTTP를 처리할 서버들의 접속 정보를 설정합니다.

구분 설명

자료형

array(object)

범위

100개 이내

http/http_servers/common_config

HTTP 서버의 공통적인 설정입니다. 상위 항목에 설정하면 하위 항목에는 설정하지 않아도 상위 항목의 설정이 반영됩니다.

구분 설명

자료형

object

설정 우선순위

설정할 때 적용되는 우선순위는 다음과 같습니다.

  1. vhosts

  2. http_servers

  3. http

http/http_servers/name (필수 항목)

HTTP 서버의 이름을 설정합니다.

구분 설명

자료형

string

범위

31자 이내

http/http_servers/port

사용자가 접속할 수 있는 HTTP 서버의 서비스 포트를 설정합니다.

구분 설명

자료형

integer

범위

1 ~ 65535

기본값

80 또는 443 (SSL을 사용할 경우에는 443을 기본값으로 사용)

http/http_servers/enable_ssl

HTTP 연결을 위한 포트를 SSL/TLS 프로토콜을 사용하여 서비스할지 여부를 설정합니다.

구분 설명

자료형

boolean

기본값

false

http/http_servers/ssl_name

적용할 SSL 절 항목을 설정합니다. 단, enable_ssl을 true로 설정한 경우 적용됩니다.

구분 설명

자료형

array(string)

범위

64개 이내(31자 이내)

다음은 ssl_name 설정 예시입니다.

  ...
  "server": {
    "http": {
      "http_servers": {
          ...
          "enable_ssl": true,
          "ssl_name": ["ssl1"]
          ...
      },
  ...

http/http_servers/idle_timeout

사용자가 연결한 소켓에서 데이터를 읽거나 쓸 때 적용되는 타임아웃을 설정합니다.

사용자 요청을 처리할 때 설정된 시간 동안 사용자가 소켓에 데이터를 쓰지 않거나 소켓으로부터 데이터를 읽지 않으면 소켓을 닫습니다.

구분 설명

자료형

integer

단위

범위

1 ~ 3600

기본값

300

http/http_servers/initial_connection_timeout

사용자로부터 첫 번째 요청을 기다리기 위한 타임아웃을 설정합니다.

TCP 연결을 맺은 후 설정된 시간 동안 사용자가 어떠한 요청도 보내지 않으면 해당 소켓을 닫습니다. 해당 설정은 SSL 연결 시에도 적용됩니다. 사용자가 설정된 시간 내에 SSL 연결을 완료하지 않거나 완료 후에도 요청을 보내지 않으면 소켓을 닫습니다.

구분 설명

자료형

integer

단위

범위

0 ~ INT_MAX

기본값

10

다음은 설정값에 대한 설명입니다.

설정값 설명

0

첫 번째 요청을 기다리는 시간이 제한되지 않습니다.

http/http_servers/request_header_timeout

HTTP 요청 본문이 있는 경우 본문을 기다리기 위한 타임아웃을 설정합니다.

사용자가 HTTP 요청 본문을 보내는 동안 적용되는 설정으로, 설정된 시간 내에 요청 본문을 모두 보내지 않으면 "408 Request Timeout"으로 응답합니다.

구분 설명

자료형

integer

단위

범위

0 ~ INT_MAX

기본값

60

다음은 설정값에 대한 설명입니다.

설정값 설명

0

사용자가 HTTP 요청 본문을 보내는 시간을 제한하지 않습니다.

http/http_servers/idle_timeout_status

유휴(Idle) 타임아웃이 발생하면 해당 설정 값으로 HTTP 상태 코드를 설정해 응답합니다.

구분 설명

자료형

integer

범위

511 ~ 599

기본값

500

http/http_servers/vhosts

HTTP 서버가 호출 주소에 따라 다른 서비스를 제공하는 가상 호스트 기능을 설정합니다.

구분 설명

자료형

array(object)

범위

64개 이내

다음은 vhosts 설정 예시입니다.

  ...
  "server": {
    "http": {
      "http_servers": {
          ...
          "vhosts":[
            {
              "name":"vhost1",
              "host_name":["www.vh1.com"],
              "common_config":{...}
            },
            {
              "name":"vhost2",
              "host_name":["www.vh2.com"],
              "common_config":{...}
            }
          ],
      }
    }
    ...
  },
  ...

http/http_servers/vhosts/name (필수 항목)

가상 호스트의 이름을 설정합니다.

구분 설명

자료형

string

범위

64개 이내

http/http_servers/vhosts/host_name (필수 항목)

가상 호스트에 접근할 때 사용자가 사용할 호스트 이름을 설정합니다. 이때 각 호스트 이름을 다르게 설정하여 가상 호스트를 구분합니다.

구분 설명

자료형

array(string)

범위

10개 이내(127자 이내)

http/mime_type_file

MIME-Type과 확장자를 매핑하는 MIME-Type 설정 파일의 경로를 설정합니다.

이 경로는 절대 경로나 $WEBTOB6_HOME_PATH의 상대 경로로 지정할 수 있습니다. 아무 값도 설정하지 않으면 해당 기능이 사용되지 않습니다.

구분 설명

자료형

string

범위

255자 이내

기본값

"mime.types"

http/default_mime_type

MIME-Type을 결정할 수 없는 문서에 대한 기본 Content-Type을 설정합니다.

구분 설명

자료형

string

범위

127자 이내

기본값

"text/html"

다음은 mime_type 설정 예시입니다.

  ...
  "server": {
    "http": {
      "http_servers": {
          ...
            "mime_type_file":"mime.types",
            "default_mime_type":"text/html"
          ...
      },
  ...

우선순위가 mime_type보다 ext가 더 높기 때문에 mime_type을 설정하려면 ext 설정을 제거해야 합니다.

wjp

JEUS와 통신을 위한 WJP의 접속 정보를 설정합니다.

구분 설명

자료형

object

wjp/port

WebtoB와 JEUS를 연동할 때 필요한 서비스 포트를 설정합니다.

구분 설명

자료형

integer

범위

1 ~ 65535

기본값

9900

WebtoB가 해당 포트를 열면 JEUS가 "domain.xml"에 다음과 같은 설정을 통하여 연결합니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<domain version="8.0" xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
    ...
    <servers>
        <server>
            <web-engine>
                <web-connections>
                    <webtob-connector>
                        <name>webtob1</name>
                        <wjp-version>2</wjp-version>
                        <registration-id>MyGroup</registration-id>
                        <network-address>
                            <port>9900</port>
                        </network-address>
                        <thread-pool>
                            <number>10</number>
                        </thread-pool>
                    </webtob-connector>
                </web-connections>
            </web-engine>
        ...

wjp/enable_ssl

JEUS 연결을 위한 포트를 SSL/TLS 프로토콜을 사용하여 서비스할지 여부를 설정합니다.

구분 설명

자료형

boolean

기본값

false

WebtoB SSL을 통해 생성한 Truststore을 JEUS에 설정하여 연결할 수 있습니다.

wjp/ssl_name

적용할 SSL 절 항목을 설정합니다. 단, enable_ssl을 true로 설정한 경우 적용됩니다.

구분 설명

자료형

string

범위

31자 이내

wjp/wjp_servers (필수 항목)

WJP를 처리할 서버들의 접속 정보를 설정합니다.

구분 설명

자료형

array(object)

범위

100개 이내

다음은 wjp_servers 설정 예시입니다.

  ...
  "server": {
    "wjp": {
      "wjp_servers": [
        {
          "name": "JeusServer1",
          "svr_chk_time": 60
        },
        {
          "name": "JeusServer2",
          "svr_chk_time": 30
        }
      ]

  ...

wjp/wjp_servers/name (필수 항목)

WJP 서버의 이름을 설정합니다.

구분 설명

자료형

string

범위

15자 이내

wjp/wjp_servers/svr_chk_time

JEUS와의 연결이 정상인지 확인하기 위해 체크하는 시간을 설정합니다.

서비스 요청이 없는 준비 상태의 연결에 대해서 연속된 2회의 svr_chk_time에 의한 KeepAlive 요청에도 응답이 없으면 해당 연결에 이상이 발생했다고 인식하고 해당 연결을 단절하여 서비스 분배에서 제외합니다.

구분 설명

자료형

integer

단위

범위

1 ~ 3600

기본값

60

wjp/wjp_servers/flow_control

서버로부터 받는 응답량을 제어하기 위해 응답 버퍼의 최대 크기를 설정합니다. 이때 설정값이 작을수록 페이지 호출이 느려지고, 클수록 빨라집니다.

구분 설명

자료형

integer

범위

1 ~ INT_MAX

기본값

50

wjp/wjp_servers/max_jengine_count

하나의 서버에 연결될 수 있는 최대 JEUS 서버 수를 설정합니다.

구분 설명

자료형

integer

범위

1 ~ INT_MAX

기본값

64

wjp/wjp_servers/ping_timeout_status

JSV 서버로 PING을 보내고 응답을 기다리던 중 타임아웃이 발생했을 때 응답할 HTTP 상태 코드를 설정합니다.

구분 설명

자료형

integer

범위

511 ~ 599

기본값

503

admin

WebtoB Admin 서버의 접속 정보를 설정합니다. Admin 서버에서 제공하는 WebtoB API를 호출할 때 사용합니다.

구분 설명

자료형

object

admin/port

Admin 서버의 포트 번호를 설정합니다.

구분 설명

자료형

integer

범위

1 ~ 65535

기본값

9090

설정한 포트 번호는 wsadmin 실행 시 로그에서 확인할 수 있습니다.

admin/access_log

액세스 로그에 해당되는 LOGGING 절 이름을 설정합니다.

구분 설명

자료형

string

범위

255자 이내

tcp

TCP의 접속 정보를 설정합니다. TCP 서버는 특정 포트나 IP 주소로 들어오는 TCP 연결을 다른 서버로 전송하는 중계(proxy) 역할을 합니다. 이때 TCP 서버는 전송되는 데이터를 전혀 해석하지 않습니다.

구분 설명

자료형

object

tcp/tcp_servers (필수 항목)

TCP 요청을 처리하기 위한 서버들의 접속 정보를 설정합니다.

구분 설명

자료형

array(object)

범위

100개 이내

tcp/tcp_servers/name (필수 항목)

TCP 서버의 이름을 설정합니다.

구분 설명

자료형

string

범위

31자 이내

tcp/tcp_servers/port (필수 항목)

사용자가 접속할 수 있는 TCP 서버의 서비스 포트를 설정합니다.

구분 설명

자료형

integer

범위

1 ~ 65535

tcp/tcp_servers/server_address (필수 항목)

클라이언트의 요청을 처리할 서버들의 IP 주소와 포트 번호를 설정합니다.

구분 설명

자료형

array(string)

범위

100개 이내(31자 이내)

tcp/tcp_servers/idle_timeout

사용자가 연결한 소켓에서 데이터를 읽거나 쓸 때 적용되는 타임아웃을 설정합니다.

사용자 요청을 처리할 때 설정된 시간 동안 사용자가 소켓에 데이터를 쓰지 않거나 소켓으로부터 데이터를 읽지 않으면 소켓을 닫습니다.

구분 설명

자료형

integer

범위

0 ~ INT_MAX

기본값

300

다음은 설정값에 대한 설명입니다.

설정값 설명

0

유휴 상태에 따른 시간을 제한하지 않습니다.

tcp/tcp_servers/initial_connection_timeout

사용자로부터 첫 번째 요청을 기다리기 위한 타임아웃을 설정합니다.

TCP 연결을 맺은 후 설정된 시간 동안 사용자가 어떠한 요청도 보내지 않으면 해당 소켓을 닫습니다.

구분 설명

자료형

integer

범위

0 ~ INT_MAX

기본값

10

다음은 설정값에 대한 설명입니다.

설정값 설명

0

첫 번째 요청을 기다리는 시간이 제한되지 않습니다.

설정 예시

다음은 SERVER 절을 설정한 예시입니다.

"server": {
    "http": {
        "common_config": {
            "doc_root": "docs",
            "idle_timeout": 300,
            "service_order": "uri,ext",
            "access_log": "access_log1",
            "keepalive": true,
            "keepalive_timeout": 60
        },
        "http_servers": [
            {
                "name": "http1",
                "port": 8080,
                "enable_ssl": false
            }
        ]
    }

    "wjp": {
        "port": 9900,
        "wjp_servers": [
            {
                "name": "MyGroup1",
                "svr_chk_time": 60
            }
        ]
    }

    "tcp": {
        "tcp_servers": [
            {
                "name": "tcp1",
                "port": 5000,
                "server_address": [
                    "192.168.1.20:5000"
                ]
            }
        ]
    }
}