92 lines
9.4 KiB
HTML
92 lines
9.4 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<LINK rel="stylesheet" type="text/css" href="../../../rzahg/ic.css">
|
|
|
|
<title>Set custom properties for an HTTP transport</title>
|
|
</head>
|
|
|
|
<BODY>
|
|
<!-- Java sync-link -->
|
|
<SCRIPT LANGUAGE="Javascript" SRC="../../../rzahg/synch.js" TYPE="text/javascript"></SCRIPT>
|
|
|
|
<h4><a name="acshttpcp"></a>Set custom properties for an HTTP transport</h4>
|
|
|
|
<p>Several HTTP transport properties are not shown in the administrative console settings page for an HTTP transport. To specify values for these custom properties for a specific transport on the HTTP transport <strong>Custom Properties</strong> page, follow these steps:</p>
|
|
|
|
<ol>
|
|
<li><a href="acstart.htm">Start the administrative console</a>.</li>
|
|
<li>In the topology tree, expand <strong>Servers</strong> and click <strong>Application Servers</strong></li>
|
|
<li>Click the name of your application server.</li>
|
|
<li>On the application server page, click <strong>Web Container</strong>.</li>
|
|
<li>On the <strong>Web Container</strong> page, click <strong>HTTP Transports</strong>.</li>
|
|
<li>Click the host whose properties you want to set.</li>
|
|
<li>Under <strong>Additional Properties</strong>, click <strong>Custom Properties</strong>.
|
|
<p><strong>Note:</strong> You can also set these properties on the Web Container Custom Properties page.</p></li>
|
|
<li>On the <strong>Custom Properties</strong> page, click <strong>New</strong>.</li>
|
|
<li>On the settings page for a new property, type the name of the transport property and the value that you want to set for that property. For example, if you want the transport to wait a maximum of 60 seconds when trying to read or write data during a request, type <tt>ConnectionIOTimeout</tt> for the name and <tt>60</tt> for the value.</li>
|
|
<li>After you specify each property, click <strong>OK</strong>.</li>
|
|
<li><a href="acsave.htm">Save the configuration</a>.</li>
|
|
<li>Restart the server.</li>
|
|
<li><a href="qshgenplgcfg.htm">Regenerate the Web server plug-in configuration</a>.</li>
|
|
</ol>
|
|
|
|
<p>You can add any of these custom properties to manage HTTP transports:</p>
|
|
<ul>
|
|
<li><p><strong>ConnectionIOTimeout</strong>
|
|
<br>This property specifies the maximum number of seconds to wait when trying to read or process data during a request.</p>
|
|
<p>This value determines how long the application server waits while receiving two subsequent data packets for the same HTTP request. For example, with the default ConnectionIOTimeout setting of five seconds, if an HTTP client sends two data packets spaced six seconds apart, the process times out, and the server throws a java.io.InterruptedIOException error. The server terminates the HTTP request, and the HTTP client must resubmit the request. The default value is 5 seconds.</p>
|
|
<p><strong>Note:</strong> When a client attempts to send a large amount of request data, such as a file upload, there is a greater possibility of an InterruptedIOException at the application server. To avoid this problem, you might want to increase the ConnectionIOTimeout value for the Web container.</p></li>
|
|
|
|
<li><p><strong>ConnectionKeepAliveTimeout</strong>
|
|
<br>This property specifies the maximum number of seconds to wait for the next request on a keep-alive connection. The default value is 5 seconds.</p></li>
|
|
|
|
<li><p><strong>ConnectionResponseTimeout</strong>
|
|
<br>This property specifies the maximum number of seconds to wait when trying to read data during a response. For WebSphere Application Server and WebSphere Application Server for Network Deployment, this property also applies to writing. The default value is 300.</p></li>
|
|
|
|
<li><p><strong>KeepAliveEnabled</strong>
|
|
<br>This property specifies whether to keep connections alive or not. The default value is <tt>true</tt>.</p>
|
|
<p>You can set these properties on either the Web Container or HTTP Transport Custom Properties pages. 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.</p></li>
|
|
|
|
<li><p><strong>MaxKeepAliveConnections</strong>
|
|
<br>This property specifies the 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 <tt>0</tt> (zero) or you can set KeepAliveEnabled to <tt>false</tt> on that transport.</p>
|
|
<p>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. 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:</p>
|
|
<ul>
|
|
<li>The client request was an HTTP 1.0 request when the Web server plug-in always sends HTTP 1.1 requests.</li>
|
|
<li>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.</li>
|
|
<li>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.</li>
|
|
<li>A time out occurred while waiting to read the next request or to read the remainder of the current request.</li>
|
|
</ul>
|
|
<p>The default value is 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.</p></li>
|
|
|
|
<li><p><strong>MaxConnectBacklog</strong>
|
|
<br>This property specifies the maximum number of outstanding connect requests that the operating system buffers 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 is rejected. The default value is 511.</p>
|
|
<p>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.</p></li>
|
|
|
|
<li><p><strong>MaxKeepAliveRequests</strong>
|
|
<br>This property specifies 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 application server as long as it can, providing optimum performance. The default value is 100.</p></li>
|
|
|
|
<li><p><strong>MutualAuthCBindCheck</strong>
|
|
<br>This property specifies whether or not a client certificate should be resolved to a SAF principal. The default value is <tt>false</tt>. If you set this property to <tt>true</tt>, all SSL connections from a client must have a client certificate, and the user ID associated with the client certificate must have RACF CONTROL authority for CB.BIND.<em>servername</em>. If the client request does not meet these conditions, the connection is closed. To grant the certificate's user ID RACF CONTROL authority, run this command:</p>
|
|
<pre>PERMIT CB.BIND.<em>servername</em> CLASS(CBIND) ID(<em>userID</em>) ACCESS(CONTROL)</pre>
|
|
<p>where <em>servername</em> is the name of your application server and <em>userID</em> is the user ID that is associated with the client certificate.</p></li>
|
|
|
|
<li><p><strong>TrustedProxy</strong>
|
|
<br>This property specifies whether or not the transport trusts Private Headers from a WebSphere Application Server plug-in for a Web server.</p></li>
|
|
|
|
<li><p><strong>ServerHeader</strong>
|
|
<br>Use the ServerHeader property to suppress the server HTTP header (Server:) in responses. The default value is <tt>true</tt>, which means that the server header is included in the HTTP response. To suppress the inclusion of server headers, set the value of this property to <tt>false</tt>.</p></li>
|
|
|
|
<li><p><strong>ResponseBufferSize</strong>
|
|
<br>This property specifies the size, in bytes, of the initial buffer allocation for the response buffer. When the buffer fills up, a flush for this buffer space automatically occurs. The default value is 32000.</p></li>
|
|
|
|
<li><p><strong>AccessLogDisable</strong> and <strong>AccessLog</strong>
|
|
<br>These properties specify access logging settings. For more information, see <a href="acshttpacc.htm">Configure access logging for internal Web server HTTP transports</a>.</p></li>
|
|
|
|
<li><p><strong>ErrorLogDisable</strong>, <strong>ErrorLog</strong>, and <strong>LogLevel</strong>
|
|
<br>These properties specify error logging settings. For more information, see <a href="acshttperr.htm">Configure logging for internal Web server HTTP transports</a>.</p></li>
|
|
</ul>
|
|
|
|
</body>
|
|
</html> |