HTTP transport custom properties

 

+

Search Tips   |   Advanced Search

 

On a distributed platform, V5.x HTTP transports are still available but are deprecated. Use HTTP transport channels instead.

Note that IPv6 and WS-AT are not supported on HTTP transports. They are only supported on HTTP transport channel chains.

If you are using HTTP transports, one can set the following custom properties on either the Web Container or HTTP Transport Custom Properties panel on the administrative console. When set on the Web container Custom Properties page, all transports inherit the properties. Setting the same properties on a transport overrides like settings defined for a Web container.

To specify custom properties for a specific transport on the HTTP Transport:

  1. In the administrative console click...

    Servers | Application Servers | servername | Web Container settings | Web Container | HTTP Transport | hostname | Custom Properties | New

  2. On the settings page, enter the property you want to configure in the Name field and the value you want to set it to in the Value field.

  3. Click Apply or OK.

  4. Click Save on the console task bar to save your configuration changes.

  5. Restart the server.

Following is a list of custom properties provided with the Application Server. These properties are not shown on the settings page for an HTTP transport.

ConnectionIOTimeOut

Maximum number of seconds to wait when trying to read or process data during a request.

Data type Integer
Default For distributed platforms: 5 seconds

ConnectionKeepAliveTimeout

Maximum number of seconds to wait for the next request on a keep alive connection.

Data type Integer
Default 30 seconds

ConnectionResponseTimeout

Valid in a z/OS environment.

Specifies the maximum number of seconds to wait when trying to read data during a response. For WAS and WAS for ND, this also applies to writing data during a response.

Data type Integer
Default 300 seconds

MaxConnectBacklog

Valid in a WAS for Distributed Platforms environment.

Maximum number of outstanding connect requests that the operating system will buffer while it waits for the application server to accept the connections. If a client attempts to connect when this operating system buffer is full, the connect request will be rejected.

Set this value to the number of concurrent connections that you would like to allow. Keep in mind that a single client browser might need to open multiple concurrent connections (perhaps 4 or 5); however, also keep in mind that increasing this value consumes more kernel resources. The value of this property is specific to each transport.

Data type Integer
Default 511

MaxKeepAliveConnections

Valid in a WAS for Distributed Platforms environment. It is ignored in a z/OS environment because asynchronous I/O sockets are used to maintain connections in that environment.

Maximum number of concurrent keep alive (persistent) connections across all HTTP transports. To make a particular transport close connections after a request, one can set MaxKeepAliveConnections to 0 (zero) or we can set KeepAliveEnabled to false on that transport.

The Web server plug-in keeps connections open to the application server as long as it can. However, if the value of this property is too small, performance is negatively impacted because the plug-in has to open a new connection for each request instead of sending multiple requests through one connection. The application server might not accept a new connection under a heavy load if there are too many sockets in TIME_WAIT state.

netstat -an | grep TIME_WAIT

If all client requests are going through the Web server plug-in and there are many TIME_WAIT state sockets for port 9080, the application server is closing connections prematurely, which decreases performance. The application server closes the connection from the plug-in, or from any client, for any of the following reasons:

  • The client request was an HTTP 1.0 request when the Web server plug-in always sends HTTP 1.1 requests.

  • The maximum number of concurrent keep-alives was reached. A keep-alive must be obtained only once for the life of a connection, that is, after the first request is completed, but before the second request can be read.

  • The maximum number of requests for a connection was reached, preventing denial of service attacks in which a client tries to hold on to a keep-alive connection forever.

  • A time out occurred while waiting to read the next request or to read the remainder of the current request.

Data type Integer
Default 90% of the maximum number of threads in the Web container thread pool. This prevents all of the threads from being held by keep alive connections so that there are threads available to handle new incoming connect requests.

MaxKeepAliveRequests

Maximum number of requests which can be processed on a single keep alive connection. This parameter can help prevent denial of service attacks when a client tries to hold on to a keep-alive connection. The Web server plug-in keeps connections open to the application server as long as it can, providing optimum performance.

If this property is set to 0 (zero), the connection stays open as long as the application server is running.

Data type Integer
Default 100 requests

KeepAliveEnabled

Valid in a WAS for Distributed Platforms environment. Specify whether or not to keep connections alive

Data type String
Default true

MutualAuthCBindCheck

Valid in a z/OS environment.

Specify whether or not a client certificate should be resolved to a SAF principal. If this property is set to true, all SSL connections from a browser must have a client certificate, and the user ID associated with that client certificate must have RACF CONTROL authority for CB.BIND.servername. If these conditions are not met, the connection will be closed. Issue the following RACF command to give the user ID associated with that client certificate RACF CONTROL authority:

PERMIT CB.BIND.servername CLASS(CBIND) ID(clientCertUserid) ACCESS(CONTROL)

Data type String
Default false

Trusted

Valid in a WAS for Distributed Platforms environment.

Indicates that the application server can use the private headers that the Web server plug-in adds to requests.

Data type String
Default false

TrustedProxy

Valid in a z/OS environment.

Indicates that the application server can use the private headers that the Web server plug-in adds to requests.

Data type String
Default false

ServerHeader

Valid in a z/OS environment.

Suppresses the server HTTP header (Server:) in responses. When the server header custom property is not specified, the default is equal to a setting of true and the server header is included in the HTTP response. Set this property to false if you want to prevent the inclusion of the server header.

Data type String
Default true


 

Related Tasks


Modifying the default Web container configuration
Tuning the application serving environment