HTTP proxy server custom properties
You can add the following custom properties to the configuration settings for an HTTP proxy server.
To specify custom properties for a specific HTTP proxy server, navigate to the custom properties page, and specify a value for the custom property.
- In the administrative console, expand to open the configuration tab for the server.
- Expand HTTP Proxy Server Settings, click .
- Under Additional properties, click .
- On the settings page, type the custom property to configure in
the
Name
field, and type the value of the custom property in theValue
field. - Click Apply or OK.
- Click Save on the console task bar to save your configuration changes.
- Restart the server.
- cache.ignore.header.Authorization
- cache.ignore.header.Cookie
- cache.ignore.header.Proxy-Authorization
- cache.query.string
- http.auto.redirect.correction
- http.cache.nocache.headers
- http.clientInfoFromTrustedIntermediary
- http.connectRetryLimit
- http.connectionPoolUseForPOST
- http.disable.retry.on.503.uriprefix
- http.disableresponsebufferingurls
- http.ignore.compliance.via
- http.isDisable10ResponseCaching
- http.log.history
- http.log.history.backup.list
- http.maxCachedPayload
- http.odcUpdateTimeout
- http.pmiTimerInterval
- http.routing.sendReverseProxyNameInHost
- http.virtual.port.map
- HTTPProxyAdvisorMethodName
- HTTPProxyAdvisorStartupDelay
- HTTPProxyAdvisorURI
- HTTPProxyAdvisorUserAgent
- http.useHostHeaderPort
- LBIPAddr
- localOutboundTCPAddress
- normalize.redirect.URL
cache.ignore.header.Authorization
Specifies the proxy will ignore the Authorization header in the requests if you set the custom property to true. If the response is also able to be cached, proxy will cache the response.
Information | Value |
---|---|
Data type | Boolean |
Default | false |
cache.ignore.header.Cookie
Specifies the proxy to ignore the cookie header in the requests if you set the custom property to true. If the response is also able to be cached, proxy will cache the response.
Information | Value |
---|---|
Data type | Boolean |
Default | false |
cache.ignore.header.Proxy-Authorization
Specifies the proxy will ignore the Proxy-Authorization header in the requests if you set the custom property to true. If the response is also able to be cached, proxy will cache the response.
Information | Value |
---|---|
Data type | Boolean |
Default | false |
cache.query.string
Specifies whether the default proxy cache key generator uses both the URL path and query string information to generate the cache key. To enable this function, set the custom property to true. However, if you enable Edge Side Include (ESI) caching on the proxy server, this custom property is not used. If you do not set this custom property, the proxy server generates a cache key based on the URL path only and not based on the query string information.
For more information on ESI caching, see Configuring Edge Side Include caching.
Information | Value |
---|---|
Data type | String |
http.auto.redirect.correction
Specifies whether the proxy server should try to correct the value in the location header when a 302 response is returned from the generic server cluster.
If you specify none for this property, the proxy server never tries to correct the value in the location header when a 302 response is returned.
If you specify gsc for this property, the proxy server tries to correct the value in the location header only when the 302 response is returned from the generic server cluster.
If you specify managed for this property, the proxy server tries to correct the value in the location header only when the 302 response is returned from a managed server.
If you specify all for this property, the proxy server tries to correct the value in the location header whenever a 302 response is returned.
Information | Value |
---|---|
Data type | String |
Acceptable values | none, gsc, managed, or all |
Default | gsc |
http.cache.nocache.headers
Specifies the set-cookie headers that you do not want to cache when the proxy server receives a response. By default, the proxy server stores set-cookie headers in the proxy cache. If the Cache-Control header information is not set properly, the proxy server might store some session-related, user private cookies. You can use this custom property to specify which set-cookie headers you do not want to store in the proxy cache.
Information | Value |
---|---|
Data type | A comma-separated string of HTTP header names |
For example, you might provide the following values: Set-Cookie,Set-Cookie2
.
As a result, the proxy server does not store Set-Cookie and Set-Cookie2
HTTP headers in the proxy cache.
http.clientInfoFromTrustedIntermediary
Specifies whether the proxy should extract the IP address from a WebSphere Application Server private header in a request. When the plug-in is deployed in front the proxy, the proxy server extracts the client IP address from the channels instead of from private headers forwarded from the plug-in. If this property is set to true, the proxy server extracts client information from private HTTP headers sent from the trusted plug-in instead of the channels.
Information | Value |
---|---|
Data type | String |
Default | false |
http.connectionPoolUseForPOST
Specifies whether the proxy server uses connection pooling for POST requests. POST requests, by default, are neither pooled, nor persistent requests. Therefore, if excessive POST requests are sent through the proxy server, port exhaustion might occur, resulting in bind exceptions. If this property is set to true, connection pooling is used for POST requests.
Information | Value |
---|---|
Data type | boolean |
Default | false |
http.connectRetryLimit
Specifies how many times the WebSphere Proxy Server attempts to establish a connection with the back end server before that server is marked as down.
If you do not add this custom property to your WebSphere Proxy Server settings, whenever the WebSphere Proxy Server fails to make a connection to a back end server, that server is marked as down, and no more requests are routed to that server until the amount of time specified for the retryAfterValue custom property elapses, even if another connection attempt would have been successful. For example, the first attempt to make a connection might have failed because an ephemeral port is reused too quickly, and the prior connection is still in a TIME_WAIT state.
Information | Value |
---|---|
Data type | Integer |
Default | 0 |
http.disable.retry.on.503.uriprefix
Specifies URI prefixes for which you do not want the proxy server to automatically retry other servers when the proxy server receives a 503 response from the backend server to which it sent the initial request.
Typically when the proxy server receives a 503 response from a backend server, it marks the backend server as being down, and tries to send the request to another server. If, for specific URI prefixes, you do not want the proxy server to mark the backend server down, and to automatically retry other servers, you can specify those prefixes as the value of this custom property. For any URI prefix specified for this property, if the proxy server receives a 503 response to that request from the backend server, the proxy server returns a 503 response directly to the client instead of retrying the request. The proxy server also does not mark the backend server as being down.
Information | Value |
---|---|
Data type | string that consists URI prefixes separated by commas |
Default | No default value |
http.disableresponsebufferingurls
Specifies under what conditions a proxy server buffers a response for heartbeat applications.
The value of the property is a comma-separated URL pattern, such
as /application_a/.*html;/application_b/.*html
.
For example, if the proxy server receives a /application_a/heartbeat.html
request,
which matches one of the URI patterns in the custom property, the
proxy server does not buffer the response body for the request. In
this example, if the proxy server returns a byte, it forwards the
byte to the client side without buffering.
Without this custom property, the proxy server receives responses and buffers the response body until the partial response body limit is reached.
http.ignore.compliance.via
Specifies how to ignore the custom property http.compliance.via.
The default value is true, and the proxy server ignores the custom property http.compliance.via. If you set http.ignore.compliance.via to false, the proxy server honors the value of custom property http.compliance.via.
http.isDisable10ResponseCaching
Specifies whether the proxy should unchunk, and buffer the response for an HTTP 1.0 client.
If the http.isDisable10ResponseCaching property is set to true, the proxy server does not generate the content length header, and does not include chunked data in the client side response. Instead, the proxy server closes the connection at the end mark of the response body.
Information | Value |
---|---|
Data type | boolean |
Default | false |
http.log.history
Enables you to increase the number of history files for the proxy server log files.
The proxy server log files are the proxy.log, local.log, and cache.log files. Without this custom property, you have one history file for these proxy server log files.
Information | Value |
---|---|
Data type | Boolean |
Default | 1 |
http.log.history.backup.list
Enables you to check for history files in the proxy server logs directory, and, if found, append them to any new log files that are created.
When you set the http.log.history.backup.list custom property to 1, the proxy server searches the proxy server logs directory for history versions of the cache.log, local.log, and proxy.log files. If history versions are found, they are appended any newer log files that are created.
For this custom property to take effect, logging has to be enabled for the HTTP Proxy server.
Information | Value |
---|---|
Data type | Boolean |
Default | 0 |
http.maxCachedPayload
Specifies the maximum size of a chunked response, for which the proxy server will generate a content-length header.
When the proxy server receives a chunked response for an HTTP 1.0 client, the proxy server assumes that the HTTP 1.0 client cannot handle the chunked message, and tries to un-chunk the message, and calculate the content length for the response body. If the size of the chunked response is equal to, or less than the size limit specified for this property, the proxy server generates a content-length header for the response. If the chunked response exceeds the size limit specified for this property, the proxy returns a 500 error message.
Information | Value |
---|---|
Data type | integer |
Default | 100000 byes |
http.odcUpdateTimeout
Specifies the amount of time, in seconds, for the HTTP proxy server to wait during server startup before routing information. The proxy server waits for the specified number of seconds before binding its ports.
This custom property can be used to configure a delay in startup (before the HTTP/HTTPS ports are bound) for a period of time to allow for the propagation of the routing information. If you set the value to 300, the proxy server waits for 300 seconds to allow time for the routing information to propagate to the proxy server. If the routing information is propagated to the proxy server before 300 seconds, server startup resumes.
Information | Value |
---|---|
Data type | String |
Default | 150 |
http.pmiTimerInterval
Specifies the estimated time interval, in milliseconds, after which PMI statistics are recorded in the proxy server.
Information | Value |
---|---|
Data type | Integer |
Default | 100 |
http.routing.sendReverseProxyNameInHost
Specifies whether the host header is rewritten for content that is not on a WebSphere Application Server content server.
The options for this property are true or false and are not case sensitive. If the value of this property is false, then the host header is rewritten as the host of the target server. If the value for this property is true, then the host header is not rewritten.
Information | Value |
---|---|
Data type | Boolean |
Default | false |
http.virtual.port.map
Specifies the server port mapping information that the backend server uses to send responses back to the correct external website ports.
When port mapping information is configured on a load balancer that is sitting in front of the proxy server, the proxy server might not be able to forward the correct external website port information to the backend server because the external website port number is probably different from the web server plug-in, or proxy server listening port. You can use this custom property to correct the port information before the proxy server passes it on to the backend server.
Name: http.virtual.port.map Value: 20080:80;20443:443
Information | Value |
---|---|
Data type | String value of port mapping pairs separated by semicolons |
Default | none |
HTTPProxyAdvisorMethodName
Specifies the HTTP method name, which is commonly HEAD, GET for the methods used. The HTTP method name is also the advisor method set on the front end load balancer. The custom property is enabling the proxy to match incoming requests and determine whether the requests are from the load balancer or not.
Information | Value |
---|---|
Data type | String value (HTTP method name, such as GET or READ) |
Default | none |
HTTPProxyAdvisorStartupDelay
Specifies the HTTP Advisor start up delay in seconds. The default value is 0 seconds.
If current proxy start time is less than the value defined in the HTTPProxyAdvisorStartupDelay custom property, an HTTP 503 error code is returned directly from the proxy server to inform the load balancer that the proxy/backend servers are not ready to service HTTP requests.
If current proxy start time is greater than the value defined in the HTTPProxyAdvisorStartupDelay custom property, the proxy forwards the advisor request to the backend and returns the response back to the front end load balancer. Based on the status code returned from the back-end server, the front end load balancer determines whether the proxy/backend server(s) are ready to service requests.
If the proxy is shutting down, the proxy server returns a 503 error code for the advisor requests. This error code informs the load balancer that the proxy and the backend servers are not able to service further requests and the front end load balancer needs to stop sending requests to this proxy server.
Information | Value |
---|---|
Data type | Integer (time in seconds) |
Default | 0 |
HTTPProxyAdvisorURI
Specifies a fully qualified URI string. This is also the advisor URI set on the front end load balancer. An application on the back-end server must be configured to answer this request URI. The custom property is enabling the proxy to match incoming requests and determine whether the requests are from the load balancer or not.
Information | Value |
---|---|
Data type | String value (fully qualified URI) |
Default | none |
HTTPProxyAdvisorUserAgent
Specifies the front end load balancer user agent name. This custom property is enabling the proxy to match incoming requests and determine whether the requests are from the load balancer or not.
Information | Value |
---|---|
Data type | String value (HTTP User-Agent header value) |
Default | none |
http.useHostHeaderPort
When the property is set to true, the proxy server assigns the $WSSP private header to the port specified in the host header. When the property is set to false or is not specified, the $WSSP private header is set to the default port based on the HTTP scheme.
Information | Value |
---|---|
Data type | Boolean |
Default | false |
HTTPSustainedHighVolumeLogging
This custom property can be set on
panel.LBIPAddr
Specifies a semicolon separated IP address list. This custom property is allowing the proxy to match incoming requests and determine whether the requests are from the load balancer or not.
Information | Value |
---|---|
Data type | String value (IP addresses separated by semicolons) |
Default | none |
localOutboundTCPAddress
Specifies the host interface that is dedicated to HTTP traffic. This property determines the interface that is used to make outbound HTTP connections to the HTTP container.
Information | Value |
---|---|
Data type | String |
Default | * |
normalize.redirect.URL
When set to true, the URI specified on a Proxy server redirect route rule will be normalized, the trailing slash ('/') will be removed. For a value of false, the URI will not be changed. The default value is set to true.