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.

  1. In the administrative console, expand Servers > Server Types > WebSphere proxy servers > proxy_server_name to open the configuration tab for the server.
  2. Expand HTTP Proxy Server Settings, click Proxy settings.
  3. Under Additional properties, click Custom properties > New.
  4. On the settings page, type the custom property to configure in the Name field, and type the value of the custom property in the Value field.
  5. Click Apply or OK.
  6. Click Save on the console task bar to save your configuration changes.
  7. Restart the server.

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.

Avoid trouble: The junction rewrite rule overrides the value specified for this custom property.
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.

Important: The buffering process might improve proxy server performance, however, it might cause client-side connection time-outs for some heartbeat applications.

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.

Avoid trouble: Specifying a value that is lower than the default of 100 milliseconds might impact proxy server performance because the proxy needs to check the current time more frequently.
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.

For example, if the proxy server, or the web server plug-in is listening on ports 20080 and 20443, but the external website ports are 80, and 443, setting the following custom property for the proxy server enables the proxy server to provide the correct port information to the backend server. The backend server can then send responses to the correct external website ports.
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.

When the proxy receives a request, it tries to match the request against the custom properties (LBIPAddr, HTTPProxyAdvisorURI, HTTPProxyAdvisorURI, HTTPProxyAdvisorStartupDelay) if they are defined
Note: You do not need to define all of these custom properties.
If all of the custom properties are matched, the request is considered to be the advisor request from the front end load balancer.

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 WebSphere proxy servers > Proxy Server name > HTTP Proxy Server Settings > Proxy settings > Custom properties 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 *