HTTP transport custom properties
You can use the console to set custom properties for an HTTP transport. The HTTP transport custom properties administrative console page only appears if you have an HTTP transport defined for your system.
You can use HTTP transports only on a V5.1 node in a mixed WAS environment. You must use HTTP transport channels instead of HTTP transports to handle your HTTP requests on all of your other nodes.
The use of IPv6 WS-AT are not supported on HTTP transports; they are only supported on HTTP transport channel chains.
If you are using HTTP transports, you can set the following custom properties on either the Web Container or HTTP Transport Custom Properties page on the 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:
- In the console click...
Servers | Application Servers | server | Web Container settings | Web Container | HTTP Transport
- Select a host.
- Under Additional Properties select Custom Properties.
- On the Custom Properties page, click New.
- 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.
- Click Apply or OK.
- Click Save on the console task bar to save the configuration changes.
- 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
Use the ConnectionIOTimeOut property to specify how long the J2EE server waits for an I/O operation to complete. Set this variable for each of the HTTP transport definitions on the server. You will need to set this variable for both SSL transport and non-SSL transport. Specifying a value of zero disables the time out function.
Data type Integer Default 5 seconds for the i5/OS and distributed platforms
ConnectionKeepAliveTimeout
Maximum number of seconds to wait for the next request on a keep alive connection.
Data type Integer Default 5 seconds for the i5/OS and distributed platforms
ConnectionResponseTimeout
Valid in a z/OS environment. Use the ConnectionResponseTimeout property to set the maximum amount of time, in seconds, that the J2EE server will wait for an application component to respond to an HTTP request. Set this variable for each of the HTTP transport definitions on the server. You will need to set this variable for both SSL transport and non-SSL transport. If the response is not received within the specified length of time, the servant (region) might fail with ABEND EC3 and RSN=04130007. Setting this timer prevents client applications from waiting for a response from an application component that might be deadlocked, looping, or encountering other processing problems that cause the application component to hang.
Use the server custom properties protocol_http_timeout_output_recovery and protocol_https_timeout_output_recovery, described in this article, to indicate the recovery action that you want taken on timeouts for requests received over the HTTP and HTTPS transports.
Data type Integer Default 300 seconds MaxConnectBacklog
Valid for i5/OS and distributed platforms. Use the MaxConnectBacklog property to specify the maximum number of outstanding connect requests that the operating system will buffer while it waits for the appserver to accept the connections. If a client attempts to connect when this operating system buffer is full, the connect request will be rejected.
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
Maximum number of concurrent keep alive (persistent) connections across all HTTP transports. To make a particular transport close connections after a request, you can set MaxKeepAliveConnections to 0 (zero) or you can set KeepAliveEnabled to false on that transport.
Valid for i5/OS and distributed platforms. Ignored on the z/OS platform because asynchronous I/O sockets are used to maintain connections in that environment.
The Web server plug-in keeps connections open to the appserver 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 appserver might not accept a new connection under a heavy load if there are too many sockets in TIME_WAIT state. If all client requests are going through the Web server plug-in and there are many TIME_WAIT state sockets for port 9080, the appserver is closing connections prematurely, which decreases performance. The appserver 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
Use the MaxKeepAliveRequests property to specify the 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 appserver as long as it can, providing optimum performance.
On the i5/OS and distributed platforms, when this property is set to 0 (zero), the connection stays open as long as the appserver is running.
Data type Integer Default 100 requests for the i5/OS and distributed platforms KeepAliveEnabled
Valid for i5/OS and distributed platforms. Use the KeepAliveEnabled property to specify whether or not to keep connections alive
Data type String Value true or false Default true MutualAuthCBindCheck
Valid on the z/OS platform. Use the MutualAuthCBindCheck property to 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 Value true or false Default false RemoveServerHeader
Specify whether an existing server header is removed before a response message is sent. If this property is set to true, the value specified for the ServerHeaderValue property is ignored.
Data type String Value true or false Default false ResponseBufferSize
Specify, in bytes, the default size of the initial buffer allocation for the response buffer. When the buffer fills up, a flush for this buffer space will automatically occur. If a value is not specified for this property, the default response buffer size of 32K bytes is used.
The setBufferSize() API method can be used to override the value specified for this custom property at the individual servlet level.
Data type Integer Default 32000 bytes
ServerHeader
Valid for the z/OS platform. Use the ServerHeader property to suppress 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 Value true or false Default true
ServerHeaderValue
Specify a server header this is added to outgoing response messages if server header is not already provided. This property is ignored if the RemoveServerHeader property is set to true.
Data type string Default WAS/x.x x.x is the version of WAS that you are using.
SoLingerValue
Specify, in seconds, the amount, that the socket close operation waits for data contained in the TCP/IP send buffer to be sent. This property is ignored if the UseSoLinger property is set to false.
Data type Integer Default 20 seconds
TcpNoDelay Set the socket TCP_NODELAY option which enables and disables the use of the TCP Nagle algorithm for connections received on this transport. When this property is set to true, use of the Nagle algorithm is disabled.
Data type String Value true or false Default true
Trusted
Valid for i5/OS and distributed platforms. Use the Trusted property to indicate that the appserver can use the private headers that the Web server plug-in adds to requests.
Data type String Value true or false Default false
Set to false for SSL client certificate authentication to work.
TrustedProxy
Valid for the z/OS platform. Use the TrustedProxy property to indicate that the appserver can use the private headers that the Web server plug-in adds to requests.
Data type String Default false
Set to false for SSL client certificate authentication to work.
UseSoLinger
Set the socket SO_LINGER option. This property configures whether the socket close operation waits until all of the data contained in the TCP/IP send buffer is sent before closing a connection. If this property is enabled, and the time expires before the all of the content of the send buffer sent, any data remaining in the send buffer is lost.
The SoLingerValue property is ignored if this property is set to false.
Data type String Value true or false Default true
Related tasks
Modifying the default Web container configuration
Tuning the application serving environment
Related Reference
Administrative console page features
HTTP transport settings
Reference topic