DESTINATION Section
The DESINTATION section configures the backend server to be used for processing requests and receiving responses. It must include one of 'jeus', 'reverse proxy', or 'htmls'.
Configuration Items
The following is the environment configuration format of the DESTINATION section.
"destination": { #"jeus": [ { "name": string, #"server_schedule": string, # "RR" #"connection_schedule": string, # "RR" #"enable_flexible_sticky_session_routing": boolean, # false #"enable_request_level_ping": boolean, # false #"request_level_ping_timeout": integer # 3 (0-INT_MAX) #"request_level_ping_retry_count": integer # 0 (0-INT_MAX) #"headers": [string], #"session_id_cookie_key": string, # "JSESSIONID" #"rewrite_cookie_domain": string, #"rewrite_cookie_path": { "from": string, "to": string }, #"enable_cache": boolean, # false #"cache_refresh": integer, # 3600 (1-INT_MAX) #"max_queue_count": integer, # 0 (0-INT_MAX) #"max_queue_url": string, #"max_queue_status_code": integer, # 503 #"queue_timeout": integer, # 0 (0-INT_MAX) #"backup_server": string } ], #"reverse_proxy": { #"common_config": { # COMMON #"headers": [string], #"compression": [string], #"compression_min_size": integer, # 0 (0-INT_MAX) #"rewrite_redirect": [ { "original_uri": string, "redirect_path": string } ], #"rewrite_cookie_domain": string, #"rewrite_cookie_path": { "from": string, "to": string, }, #"max_queue_count": integer, # 0 (0-INT_MAX) #"max_queue_url": string, #"max_queue_status_code": integer, # 503 #"websocket_connections_max": integer, # 0 (0-INT_MAX) #"websocket_session_timeout": integer, # 0 (0-INT_MAX) #"set_host_header": string, #"queue_timeout": integer, # 0 (0-INT_MAX) #"name_resolution_interval": integer, # 0 (0-INT_MAX) #"server_health_check": { #"retry_count": integer, # 3 (0-INT_MAX) #"failback_interval": integer, # 60 (0-INT_MAX) #"http_failure": [string], # [] #"connection_timeout": integer, # 5 (0-INT_MAX) #"enable_name_resolution_on_fail": boolean # true }, #"rewrite_html_url": [ { "tag": string, "attribute": [string], "from": string, "to": string } ], #"rewrite_html_max_size": integer # 10240 (1-INT_MAX) }, "reverse_proxy_group": [ { "name": string, "reverse_proxy_server": [ { "name": string, "address": string, #"enable_proxy_ssl": boolean, # false #"proxy_ssl_name": [string], #"persistent_server_connections_min": integer, # 0 (0-INT_MAX) #"persistent_server_connections_max": integer, # 0 (0-INT_MAX) #"persistent_server_check_time": integer, # 30 (0-INT_MAX) #"persistent_server_check_url": string, #"persistent_server_timeout": integer, # 300 (0-INT_MAX) #"enable_cache": boolean, # false #"cache_refresh": integer, # 3600 (1-INT_MAX) #"sticky_session_routing_id": string, #"is_backup_server": boolean, # false #"load_balancing_factor": integer, # 1 (1-INT_MAX) #"common_config": {...} # COMMON } ], #"server_schedule": string, # "RR" #"sticky_session_routing": { #"policy": string, # "UseOriginalCookie" #"session_id_cookie_key": string, # "JSESSIONID" #"enable_flexible_sticky_session_routing": boolean # false }, #"common_config": {...} # COMMON } ] }, #"htmls":[ { "name": string, #"headers": [string], #"compression": [string], #"compression_min_size": integer, # 0 (0-INT_MAX) #"enable_cache": boolean, # false #"cache_refresh": integer, # 3600 (1-INT_MAX) #"queue_timeout": integer, # 0 (0-INT_MAX) #"enable_sendfile": boolean, # false #"sendfile_min_size": integer, # 0 (0-INT_MAX) #"enable_etag": boolean # true } ] }
Refer to Types of Setting Values and Configuration Methods for more information on symbols and details of the DESTINATION section configuration items. |
jeus
Set this when performing services using WJP by integrating WebtoB with JEUS.
Item | Description |
---|---|
Data Type |
Array (object) |
jeus/name (Required)
Sets the name of JEUS. The specified name must match the name set in wjp/wjp_servers/name.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 31 characters |
jeus/server_schedule
Sets the method for specifying a server to process requests when multiple servers are defined in wjp/wjp_servers.
Item | Description |
---|---|
Data Type |
String |
Range |
"RR" |
Default Value |
"RR" |
The following describes each configuration value.
Value | Description |
---|---|
RR |
Assigns requests sequentially to JEUS using the round robin method. |
jeus/connection_schedule
Sets the method for specifying a connection to process requests when multiple connections are established to the JEUS server.
Item | Description |
---|---|
Data Type |
String |
Range |
"RR" |
Default Value |
"RR" |
The following describes each configuration value.
Value | Description |
---|---|
RR |
Assigns requests to connections sequentially using the round robin method. |
jeus/enable_flexible_sticky_session_routing
Sets whether to enable flexible routing during session routing.
Item | Description |
---|---|
Data Type |
Boolean |
Default Value |
False |
The following describes each configuration value.
Value | Description |
---|---|
True |
If connections up to persistent_server_connections_max of the internal server are in the RUN state when using the sticky_session_routing_id for session routing, requests are routed to another internal server connection with a different sticky_session_routing_id instead of being queued. |
False |
Uses the sticky session routing by default. Requests are routed only to internal server connections with the same sticky_session_routing_id, and requests are queued if connections up to persistent_server_connections_max are all in the RUN state. |
If you are using flexible routing, requests from different clients with the same JSESSIONID may be routed to different servers. (Default setting is recommended.) |
jeus/enable_request_level_ping
Sets whether to send a PING to the server before forwarding a request. This setting is useful when multiple JEUS servers are connected and a server may have difficulty responding to requests due to Out Of Memory (OOM).
Item | Description |
---|---|
Data Type |
Boolean |
Default Value |
False |
The following describes each configuration value.
Value | Description |
---|---|
True |
Sends a PING for every request forwarded to the JEUS server and only forwards the request if a response is received. |
False |
Directly forwards the request without sending a PING for all requests forwarded to the JEUS server. |
This may result in performance degradation as it requires sending a PING and waiting for a response for every request. (Default setting is recommended.) |
jeus/request_level_ping_timeout
Sets the time to wait for a response after sending a PING. If no response is received within the specified time, the connection is terminated, and another JEUS server is rescheduled to send a PING.
Item | Description |
---|---|
Data Type |
Integer |
Unit |
seconds |
Range |
0 ~ INT_MAX |
Default Value |
3 |
jeus/request_level_ping_retry_count
Sets the number of retry attempts if sending a PING to all Jengines within the JEUS server fails.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
0 |
jeus/headers
Sets the name of the HEADERS section to apply.
Item | Description |
---|---|
Data Type |
Array (string) |
Range |
Up to 15 items (within 255 characters) |
jeus/session_id_cookie_key
Sets the Key name of the HTTP cookie used for session routing.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
Default Value |
"JSESSIONID" |
jeus/rewrite_cookie_domain
Modifies the "domain=" value of the Cookie header field of the response from the internal server. If the domain string specified in "domain=" matches the string specified in RewriteCookieDomain, the "domain=" value is replaced with the domain of the user request.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
Default Value |
"JSESSIONID" |
Using the following configuration, if the WebtoB domain is webtob, the cookie of the original response "jsessionid=abc, domain=internal.server.com" is changed to "jsessionid=abc, domain=webtob".
"rewrite_cookie_domain": "internal.server.com"
jeus/rewrite_cookie_path
Modifies the "path=" value of the cookie header field of the internal server response.
Item | Description |
---|---|
Data Type |
Object |
jeus/rewrite_cookie_path/from
Specifies the string to be modified in the "path=" value.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
jeus/rewrite_cookie_path/to
Specifies the string to replace the "path=" value.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
jeus/enable_cache
Sets whether the content is cached.
Item | Description |
---|---|
Data Type |
Boolean |
Default Value |
False |
jeus/cache_refresh
Sets the value for calculating the validity period of cached responses when caching responses received from JEUS.
When WebtoB responds to a client’s request with cached content, it checks whether the cached content is valid. The validity is determined based on the set value (valid time).
Item | Description |
---|---|
Data Type |
Integer |
Unit |
seconds |
Range |
1 ~ INT_MAX |
Default Value |
3600 |
Priority |
The priority of the setting is as follows:
|
jeus/max_queue_count
When a surge in client requests overloads a server and the server is no longer able to respond to new requests, it is necessary to ignore them.
Once the number of client requests in the queue reaches a certain limit, any further incoming requests will not be queued. Instead, the server will respond to the client with an error.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
0 |
jeus/max_queue_url
Sets the page to be served instead when the server queue is full.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
jeus/max_queue_status_code
Sets the status code to be returned when the server queue is full.
Item | Description |
---|---|
Data Type |
String |
Range |
301 | 302 | 303 | 307 | 308 | 410 | 503 |
Default Value |
503 |
jeus/queue_timeout
Specifies the timeout for user requests in a server queue.
When a request cannot be processed due to a large volume of user requests, the request waits in the server queue until a server process becomes available.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
0 |
The following describes each configuration value.
Value | Description |
---|---|
0 |
There is no time limit for waiting in the server queue. |
Positive Integer |
Requests waiting longer than the specified time will be removed from the queue and respond with "503 Service Unavailable". |
The following is an example of setting max_queue:
... "destination": { "jeus": { "max_queue_count": 3, "max_queue_url":"/jsvtest/common/test.html", "max_queue_status_code":302, "queue_timeout":100 } }, ...
With the above settings, when there are 2 JEUS connections and 10 calls are made, the response will include 2 page calls, 3 queue page calls, and 5 calls to the max_queue_url.
jeus/backup_server
Sets the server to be used as a backup when all servers are not ready.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 31 characters |
reverse_proxy
This is a type of HTTP proxy used to forward requests to internal servers and can be used for web application server (WAS) integration.
Item | Description |
---|---|
Data Type |
Object |
reverse_proxy/common_config
A common setting for reverse proxies. If set in the parent item, the settings will be reflected to the child items without the need for additional configuration.
Item | Description |
---|---|
Data Type |
Object |
Priority |
The priority of the setting is as follows:
|
reverse_proxy/common_config/headers
Sets the name of the HEADERS section to apply.
Item | Description |
---|---|
Data Type |
Array (string) |
Range |
Up to 15 items (within 255 characters) |
reverse_proxy/common_config/compression
Sets the target for response compression. Specifies the MIME-type (content-type of the response) to be compressed. The target response is compressed with GZIP, then sent to the client.
Item | Description |
---|---|
Data Type |
Array (string) |
Range |
Up to 32 items (within 255 characters) |
Compression can reduce the network traffic, but it may degrade server performance. Files with low compression ratio, such as zip or jpeg, should not be compressed if possible to avoid server overhead. |
Compression can only be used for requests with Accept-Encoding set to GZIP or deflate in the HTTP request header. |
reverse_proxy/common_config/compression_min_size
Specifies the minimum size of the response to compress.
If the value of the Content-Length response header is greater than the specified size, the response is compressed. However, this does not apply to chunked responses, as it is difficult to determine the size of the response.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
0 |
reverse_proxy/common_config/rewrite_redirect
Modifies the values in the "Location" and "Content-Location" headers in the response from the internal server. If that field starts with "original_uri", replace the part that matches "original_uri" with "redirect_path".
Item | Description |
---|---|
Data Type |
Array (object) |
Range |
Up to 16 items (each original_uri and redirect_path must be within 255 characters) |
In the following example, if the Location of the original response is "http://internal.server.com:80/docs_kr/abc.html", it will be changed to "/internal_kr/abc.html".
"rewrite_redirect": [ { "original_uri": "http://internal.server.com:80/docs/", "redirect_path": "/internal/" }, { "original_uri": "http://internal.server.com:80/docs_kr", "redirect_path": "/internal_kr/" }, { "original_uri": "http://internal.server.com:80/docs_ch/", "redirect_path": "/internal_ch/" } ]
reverse_proxy/common_config/rewrite_cookie_domain
Modifies the "domain=" value of the Cookie header field of the response from the internal server. If the domain string specified in "domain=" matches the string specified in rewrite_cookie_domain, the "domain=" value is replaced with the domain of the user request.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
Default Value |
0 |
Using the following configuration, if the WebtoB domain is webtob, the cookie of the original response "jsessionid=abc, domain=internal.server.com" is changed to "jsessionid=abc, domain=webtob".
"rewrite_cookie_domain": "internal.server.com"
reverse_proxy/common_config/rewrite_cookie_path
Modifies the "path=" value of the cookie header field of the internal server response.
Item | Description |
---|---|
Data Type |
Object |
Using the following configuration, the original response cookie "jsessionid=abc, path=/jeus/application" is changed to "jsessionid=abc, path=/jeus_proxy/application".
"rewrite_cookie_path": { "from": "jeus", "to": "/jeus_proxy" }
reverse_proxy/common_config/rewrite_cookie_path/from (Required)
Specifies the string to be modified in the "path=" value.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
reverse_proxy/common_config/rewrite_cookie_path/to (Required)
Specifies the string to replace the "path=" value.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
reverse_proxy/common_config/max_queue_count
When a surge in client requests overloads a server and the server is no longer able to respond to new requests, it is necessary to ignore them.
Once the number of client requests in the queue reaches a certain limit, any further incoming requests will not be queued. Instead, the server will respond to the client with an error.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
0 |
reverse_proxy/common_config/max_queue_url
Sets the page to be served instead when the server queue is full.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
reverse_proxy/common_config/max_queue_status_code
Sets the status code to be returned when the server queue is full.
Item | Description |
---|---|
Data Type |
Integer |
Range |
301 | 302 | 303 | 307 | 308 | 410 | 503 |
Default Value |
503 |
reverse_proxy/common_config/websocket_connections_max
Specifies the maximum number of connections when connection is upgraded from HTTP to WebSocket protocol.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
0 |
The following describes each configuration value.
Value | Description |
---|---|
0 |
No limit is set on the number of WebSocket connections. |
reverse_proxy/common_config/websocket_session_timeout
Specifies the timeout for WebSocket connection.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
0 |
The following describes each configuration value.
Value | Description |
---|---|
0 |
Timeout check is not performed. |
It is recommended to set this value based on the timeout setting of the WebSocket session on the internal server. |
reverse_proxy/common_config/set_host_header
Specifies the Host header when forwarding the request to the internal server using reverse proxy.
If not set, the value specified in ServerAddress is used. If set to "$BypassHostHeader", the client Host header is used without modification.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
Default Value |
0 |
reverse_proxy/common_config/queue_timeout
Specifies the timeout for user requests in a server queue.
When a request cannot be processed due to a large volume of user requests, the request waits in the server queue until a server process becomes available.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
0 |
The following describes each configuration value.
Value | Description |
---|---|
0 |
There is no time limit for waiting in the server queue. |
Positive Integer |
Requests waiting longer than the specified time will be removed from the queue and respond with "503 Service Unavailable". |
reverse_proxy/common_config/name_resolution_interval
Sets the frequency at which Hostname Resolution is performed.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
0 |
The following describes each configuration value.
Value | Description |
---|---|
0 |
Follows the operating system’s Time-To-Live (TTL) settings. |
reverse_proxy/common_config/server_health_check
Configures health check information for reverse proxy groups.
Item | Description |
---|---|
Data Type |
Object |
The following is an example of using the server_health_check:
"destination": { "reverse_proxy ": { "common_config": { "server_health_check":{ "retry_count":4, "failback_interval":5, "http_failure":["http_invalid", "http_4xx"], "connection_timeout": 5, "enable_name_resolution_on_fail":false }
reverse_proxy/common_config/server_health_check/retry_count
Sets the number of retry attempts to determine failover.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
3 |
reverse_proxy/common_config/server_health_check/failback_interval
Sets the health check interval to attempt a failback after a failover.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
60 |
The following describes each configuration value.
Value | Description |
---|---|
0 |
Does not perform failover or failback. |
reverse_proxy/common_config/server_health_check/http_failure
Sets the criteria for determining HTTP response failures.
Item | Description |
---|---|
Data Type |
Array (string) |
Allowed Options |
The following options can treat certain types of HTTP responses as failures:
|
reverse_proxy/common_config/server_health_check/connection_timeout
Specifies the retry interval for TCP connection with the internal server.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX (seconds) |
Default Value |
5 (seconds) |
reverse_proxy/common_config/server_health_check/enable_name_resolution_on_fail
Sets whether to attempt Hostname Resolution again when a failure is determined.
Item | Description |
---|---|
Data Type |
Boolean |
Default Value |
True |
reverse_proxy/common_config/rewrite_html_url
Used to replace the URL included in the HTML page response body. If the URL includes a host, the host is replaced with the WebtoB server address used in the request.
Item | Description |
---|---|
Data Type |
Array (object) |
Range |
Up to 64 items |
The following is an example of changing the URL from http://test2:80 to /proxy/ for the src, longdesc, and usemap attributes of the img tag.
"rewrite_html_url": [ { "tag": "img", "attribute": ["src", "longdesc"], "from": "http://test2:80", "to": "/proxy/" } ]
reverse_proxy/common_config/rewrite_html_url/tag (Required)
Specifies the tag name.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
reverse_proxy/common_config/rewrite_html_url/attribute (Required)
Specifies the attribute name.
Item | Description |
---|---|
Data Type |
Array (string) |
Range |
Up to 64 items (within 255 characters) |
reverse_proxy/common_config/rewrite_html_url/from (Required)
Specifies the string to be modified in the URL.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
reverse_proxy/common_config/rewrite_html_url/to (Required)
Specifies the string to which the URL will be modified.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
reverse_proxy/common_config/rewrite_html_max_size
If the response is an HTML page (Content-Type: text/html), specific tag values inside the page can be modified. This value sets the maximum internal buffer size that can be used. If the response size is greater than the specified value, the original response is sent to the client.
Item | Description |
---|---|
Data Type |
Integer |
Range |
1 ~ INT_MAX |
Default Value |
10240 |
reverse_proxy/reverse_proxy_group (Required)
You can manage the reverse_proxy settings as a group and configure multiple servers.
By setting up multiple reverse proxy (internal) servers, you can group them for load balancing and sticky session routing, and integrate them with Web Application Server (WAS).
Item | Description |
---|---|
Data Type |
Array (object) |
reverse_proxy/reverse_proxy_group/name (Required)
Specifies the reverse_proxy_group name.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 31 characters |
reverse_proxy/reverse_proxy_group/reverse_proxy_server (Required)
You can manage different configurations for each ip:port in one reverse_proxy_group.
Item | Description |
---|---|
Data Type |
Array (object) |
Range |
Up to 32 items |
reverse_proxy/reverse_proxy_group/reverse_proxy_server/name (Required)
Specifies the name of the reverse proxy server.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 31 characters |
reverse_proxy/reverse_proxy_group/reverse_proxy_server/address (Required)
Specifies the internal server address to which the request is sent.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
reverse_proxy/reverse_proxy_group/reverse_proxy_server/enable_proxy_ssl
Specifies whether to use SSL/TLS to connect to the internal server. If set, the PROXY_SSL section item can be set in proxy_ssl_name.
Item | Description |
---|---|
Data Type |
Boolean |
Default Value |
False |
reverse_proxy/reverse_proxy_group/reverse_proxy_server/proxy_ssl_name
Specifies the name of the ssl/proxy_ssl_configs section to be used. This setting is applied only when enable_proxy_ssl is set to 'true'.
Item | Description |
---|---|
Data Type |
Array (string) |
Range |
Up to 100 items (within 31 characters) |
The following is an example of using proxy_ssl_name:
"destination": { "reverse_proxy":{ "reverse_proxy_server":[ { "address":"internal.server.com:80", "name":"rproxy1", "enable_proxy_ssl": true, "proxy_ssl_name":["ssl1"] } ] } }
reverse_proxy/reverse_proxy_group/reverse_proxy_server/persistent_server_connections_min
Specifies the minimum number of connections required to maintain connection with an internal server after request processing is complete.
A new connection with an internal server is created when there is a new request, and as long as the internal server doesn’t terminate the connection it is maintained and reused for subsequent requests.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
0 |
reverse_proxy/reverse_proxy_group/reverse_proxy_server/persistent_server_connections_max
Specifies the maximum number of connections required to maintain connection with an internal server after request processing is complete.
When there is a new request, a new connection is created if all connections are currently processing other requests and the request is queued if the number of connections has reached the specified maximum limit.
Item | Description |
---|---|
Data Type |
Integer |
Range |
0 ~ INT_MAX |
Default Value |
0 |
reverse_proxy/reverse_proxy_group/reverse_proxy_server/persistent_server_check_url
Specifies to internally use the HTTP HEAD request as the ping message for maintaining internal server connections.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
Default Value |
"/" |
Connections are maintained by using a ping message to check for the connection state after sending an HTTP request to the internal server and receiving an HTTP response. If the response message is not 200, the connection is terminated. An application must be implemented on the internal server to respond to the ping.
reverse_proxy/reverse_proxy_group/reverse_proxy_server/persistent_server_check_time
Specifies the interval for checking connection with an internal server in order to manage internal server connections.
To maintain internal server connections, this must be set to a value less than the keepalive_timeout of the internal server. A single ping is sent to connections in the Ready state, and the connection is disconnected if no reply is received within the persistent_server_check_time period.
Item | Description |
---|---|
Data Type |
Integer |
Unit |
seconds |
Range |
0 ~ INT_MAX |
Default Value |
30 |
The following describes each configuration value.
Value | Description |
---|---|
0 |
no ping is sent and connections are maintained for the keepalive_timeout period of the external server. |
reverse_proxy/reverse_proxy_group/reverse_proxy_server/persistent_server_timeout
Specifies the timeout for terminating a connection in the Ready state when the number of internal server connections has reached the persistent_server_connections_min.
Item | Description |
---|---|
Data Type |
Integer |
Unit |
seconds |
Range |
0 ~ INT_MAX |
Default Value |
300 |
The following describes each configuration value.
Value | Description |
---|---|
0 |
No timeout check for idle connections. |
The following is an example of using persistent_server:
"destination": { "reverse_proxy":{ "reverse_proxy_group":[ { "name": "rproxyg1", ... "persistent_server_connections_min":10, "persistent_server_connections_max":15, "persistent_server_check_time": 25, "persistent_server_check_url":"/jsvtest/common/test.html", "persistent_server_timeout":3000 } ] } }
reverse_proxy/reverse_proxy_group/reverse_proxy_server/enable_cache
Sets whether the content is cached.
Item | Description |
---|---|
Data Type |
Boolean |
Default Value |
False |
reverse_proxy/reverse_proxy_group/reverse_proxy_server/cache_refresh
Specifies the value to calculate the time a cached response is valid when a response handled by a reverse proxy is cached.
When WebtoB responds to a client’s request with cached content, it checks whether the cached content is valid. The validity is determined based on the set value (valid time).
Item | Description |
---|---|
Data Type |
Integer |
Unit |
seconds |
Range |
1 ~ INT_MAX |
Default Value |
3600 |
Priority |
The priority of the setting is as follows:
|
reverse_proxy/reverse_proxy_group/reverse_proxy_server/sticky_session_routing_id
Used for integration with a specific internal server (web application server) and using sticky session routing.
Use the name of the engine that corresponds to the Sticky Session id (JSESSIONID) value set in the Set-Cookie response header by the internal server (WAS). For example, if the "JSESSIONID" value in the Set-Cookie response header is "Pl1xfBkEVbUu2cj20CUNlHJoWLmU.xxx_servlet_engine1", use the value following the delimiter (period) which is "xxx_servlet_engine1".
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 255 characters |
reverse_proxy/reverse_proxy_group/reverse_proxy_server/is_backup_server
Sets whether this server should be used as a backup server in case all other reverse proxy servers are not ready.
Item | Description |
---|---|
Data Type |
Boolean |
Default Value |
False |
reverse_proxy/reverse_proxy_group/reverse_proxy_server/load_balancing_factor
Sets the ratio at which requests will be distributed to the corresponding reverse proxy servers in the reverse proxy group.
Requests are distributed in the ratio of "(load_balancing_factor of the reverse proxy server) / (sum of load_balancing_factors of all reverse proxy servers in the group)".
Item | Description |
---|---|
Data Type |
Integer |
Range |
1 ~ INT_MAX |
Default Value |
1 |
reverse_proxy/reverse_proxy_group/reverse_proxy_server/common_config
A common setting for reverse proxies. If set in the parent item, the settings will be reflected to the child items without the need for additional configuration.
Item | Description |
---|---|
Data Type |
Object |
Priority |
The priority of the setting is as follows:
|
reverse_proxy/reverse_proxy_group/server_schedule
Sets the method for specifying the reverse proxy to process requests when multiple reverse proxies are set up.
Item | Description |
---|---|
Data Type |
String |
Range |
"RR" |
Default Value |
"RR" |
The following describes each configuration value.
Value | Description |
---|---|
RR |
Assigns requests to reverse proxies sequentially using the round robin method. |
reverse_proxy/reverse_proxy_group/sticky_session_routing
Settings related to session routing.
Item | Description |
---|---|
Data Type |
Object |
reverse_proxy/reverse_proxy_group/sticky_session_routing/policy
Sets the session routing policy.
Item | Description |
---|---|
Data Type |
String |
Range |
"AddNewCookie" | "ModifyOriginalCookie" | "UseOriginalCookie" |
Default Value |
"UseOriginalCookie" |
reverse_proxy/reverse_proxy_group/sticky_session_routing/session_id_cookie_key
Specifies the Key name of the HTTP cookie used for session routing.
Item | Description |
---|---|
Data Type |
String |
Default Value |
"JSESSIONID" |
reverse_proxy/reverse_proxy_group/sticky_session_routing/enable_flexible_sticky_session_routing
Sets whether to enable flexible routing during session routing.
Item | Description |
---|---|
Data Type |
Boolean |
Default Value |
False |
The following describes each configuration value.
Value | Description |
---|---|
True |
If connections up to persistent_server_connections_max of the internal server are in the RUN state when using the sticky_session_routing_id for session routing, requests are routed to another internal server connection with a different sticky_session_routing_id instead of being queued. |
False |
Uses the sticky session routing by default. Requests are routed only to internal server connections with the same sticky_session_routing_id, and requests are queued if connections up to persistent_server_connections_max are all in the RUN state. |
If you are using flexible routing, requests from different clients with the same JSESSIONID may be routed to different servers. (Default setting is recommended.) |
reverse_proxy/reverse_proxy_group/common_config
A common setting for reverse proxies. If set in the parent item, the settings will be reflected to the child items without the need for additional configuration.
Item | Description |
---|---|
Data Type |
Object |
Priority |
The priority of the setting is as follows:
|
htmls
Configures this setting to handle static file requests. Supported HTTP methods are "GET", "POST", and "HEAD", while a "405 Method Not Allowed" response is returned for all other methods.
Item | Description |
---|---|
Data Type |
Array (object) |
htmls/name (Required)
Specifies the name of the htmls.
Item | Description |
---|---|
Data Type |
String |
Range |
Up to 31 characters |
htmls/headers
Sets the name of the HEADERS section to apply.
Item | Description |
---|---|
Data Type |
Array (string) |
Range |
Up to 15 items (within 255 characters) |
htmls/compression
Sets the targets for compression in responses for static files. Specifies the MIME-types (content-types) of files to compress. The corresponding response will be compressed using GZIP before being sent to the client.
Item | Description |
---|---|
Data Type |
Array (string) |
Range |
Up to 32 items (within 255 characters) |
Compression can reduce the network traffic, but it may degrade server performance. Files with low compression ratio, such as zip or jpeg, should not be compressed if possible to avoid server overhead. |
Compression can only be used for requests with Accept-Encoding set to GZIP or deflate in the HTTP request header. |
htmls/compression_min_size
Specifies the minimum size of the response to compress. If the requested file size is greater than the specified size, the response is compressed.
Item | Description |
---|---|
Data Type |
Integer |
Unit |
bytes |
Range |
0 ~ INT_MAX |
Default Value |
0 |
htmls/enable_cache
Sets whether the content is cached.
Item | Description |
---|---|
Data Type |
Boolean |
Default Value |
False |
htmls/cache_refresh
Sets the validity period for cached responses whose 'Content-Type' is 'text/html'. That is, a 'text/html' response will only be valid for the set number of seconds after being cached.
Item | Description |
---|---|
Data Type |
integer |
Unit |
seconds |
Range |
1 ~ INT_MAX |
Default Value |
3600 |
A conditional-GET request checks to see if the cached response has been modified. If it has been modified, the cache is deleted and updated with the new version. |
htmls/queue_timeout
When a request cannot be processed due to a large volume of user requests, the request waits in the server queue until a server process becomes available.
Item | Description |
---|---|
Data Type |
Integer |
Unit |
seconds |
Range |
1 ~ INT_MAX |
Default Value |
0 |
The following describes each configuration value.
Value | Description |
---|---|
0 |
There is no time limit for waiting in the server queue. |
Positive Integer |
Requests waiting longer than the specified time will be removed from the queue and respond with "503 Service Unavailable". |
htmls/enable_sendfile
Configures whether to use the sendfile function.
Item | Description |
---|---|
Data Type |
Boolean |
Default Value |
False |
Example
The following is an example of configuring the DESTINATION section:
"destination": { "jeus": [ { "name": "MyGroup" } ], "reverse_proxy": { "common_config": { "server_health_check": { "retry_count": 3, "failback_interval": 5, "http_failure": ["http_invalid", "http_4xx"], "connection_timeout": 5 } } "reverse_proxy_group": [ { "name": "rproxy1", "reverse_proxy_server": [ { "address": "192.168.15.114:28080", "enable_proxy_ssl": false } ] } ] } "htmls": [ { "name": "htmls1" } ] }