7 Parameters for Web Server Plug-Ins

This chapter describes the parameters that you can use to configure the Oracle HTTP Server, Apache HTTP Server, Microsoft IIS, and Oracle iPlanet Web Server plug-ins. It contains the following sections:

Note:

The parameters for the web-server plug-ins should be specified in special configuration files, which are named and formatted uniquely for each web server. For information about the configuration files specific to the plug-ins for Apache HTTP Server, Oracle HTTP Server, Microsoft IIS, and Oracle iPlanet Web Server, see the following chapters:

7.1 General Parameters for Web Server Plug-Ins

The general parameters for Web server plug-ins are shown in Table 7-1. The parameters are case sensitive.

Table 7-1 General Parameters for Web Server Plug-Ins

Parameter Name Default Description Applicable to

WebLogicHost

(Required when proxying to a single WebLogic Server.)

none

WebLogic Server host (or virtual host name as defined in WebLogic Server) to which HTTP requests should be forwarded. If you are using a WebLogic cluster, use the WebLogicCluster parameter instead of WebLogicHost.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WebLogicPort

(Required when proxying to a single WebLogic Server.)

none

Port at which the WebLogic Server host is listening for connection requests from the plug-in (or from other servers). (If you are using SSL between the plug-in and WebLogic Server, set this parameter to the SSL listen port and set the SecureProxy parameter to ON).

If you are using a WebLogic Cluster, use the WebLogicCluster parameter instead of WebLogicPort.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WebLogicCluster

(Required when proxying to a cluster of WebLogic Servers, or to multiple non-clustered servers.)

none

The WebLogicCluster parameter is required to proxy a list of back-end servers that are clustered, or to perform load balancing among non-clustered managed server instances.

List of WebLogic Servers that can be used for load balancing. The server or cluster list is a list of host:port entries. If a mixed set of clusters and single servers is specified, the dynamic list returned for this parameter will return only the clustered servers.

The syntax for specifying the value of this parameter varies depending on the web server for which you are configuring the plug-in. For more information, see the following:

If you are using SSL between the plug-in and WebLogic Server, set the port number to the SSL listen port and set the SecureProxy parameter to ON.

The plug-in does a simple round-robin between all available servers. The server list specified in this property is a starting point for the dynamic server list that the server and plug-in maintain. WebLogic Server and the plug-in work together to update the server list automatically with new, failed, and recovered cluster members.

You can disable the use of the dynamic cluster list by setting the DynamicServerList parameter to OFF.

The plug-in directs HTTP requests containing a cookie, URL-encoded session, or a session stored in the POST data to the server in the cluster that originally created the cookie.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

PathTrim

null

As per the RFC specification, generic syntax for URL is:

[PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...

PathTrim specifies the string trimmed by the plug-in from the {PATH}/{FILENAME} portion of the original URL, before the request is forwarded to WebLogic Server. For example, if the URL

http://myWeb.server.com/weblogic/foo

is passed to the plug-in for parsing and if PathTrim has been set to strip off /weblogic before handing the URL to WebLogic Server, the URL forwarded to WebLogic Server is:

http://myWeb.server.com:7001/foo

Note that if you are newly converting an existing third-party server to proxy requests to WebLogic Server using the plug-in, you will need to change application paths to /foo to include weblogic/foo. You can use PathTrim and PathPrepend in combination to change this path.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

PathPrepend

null

As per the RFC specification, generic syntax for URL is:

[PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...

PathPrepend specifies the path that the plug-in prepends to the {PATH} portion of the original URL, after PathTrim is trimmed and before the request is forwarded to WebLogic Server.

Note that if you need to append File Name, use DefaultFileName parameter instead of PathPrepend.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

ConnectTimeoutSecs

10

Maximum time in seconds that the plug-in should attempt to connect to the WebLogic Server host. Make the value greater than ConnectRetrySecs. If ConnectTimeoutSecs expires without a successful connection, even after the appropriate retries (see ConnectRetrySecs), an HTTP 503/Service Unavailable response is sent to the client.

You can customize the error response by using the ErrorPage parameter.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

ConnectRetrySecs

2

Interval in seconds that the plug-in should sleep between attempts to connect to the WebLogic Server host (or all of the servers in a cluster). Make this number less than the ConnectTimeoutSecs. The number of times the plug-in tries to connect before returning an HTTP 503/Service Unavailable response to the client is calculated by dividing ConnectTimeoutSecs by ConnectRetrySecs.

To specify no retries, set ConnectRetrySecs equal to ConnectTimeoutSecs. However, the plug-in attempts to connect at least twice.

You can customize the error response by using the ErrorPage parameter.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

Debug

OFF

Sets the type of logging performed for debugging operations. The debugging information is written to the /tmp/wlproxy.log file on UNIX systems and c:\TEMP\wlproxy.log on Windows NT/2000 systems.

Override this location and filename by setting the WLLogFile parameter to a different directory and file. (See the WLTempDir parameter for an additional way to change this location.)

Ensure that the tmp or TEMP directory has write permission assigned to the user who is logged in to the server. Set any of the following logging options (HFC,HTW,HFW, and HTC options may be set in combination by entering them separated by commas, for example “HFC,HTW”):

ON - The plug-in logs informational and error messages.

OFF - No debugging information is logged.

HFC - The plug-in logs headers from the client, informational, and error messages.

HTW - The plug-in logs headers sent to WebLogic Server, and informational and error messages.

HFW - The plug-in logs headers sent from WebLogic Server, and informational and error messages.

HTC - The plug-in logs headers sent to the client, informational messages, and error messages.

ERR - Prints only the Error messages in the plug-in.

ALL - The plug-in logs headers sent to and from the client, headers sent to and from WebLogic Server, information messages, and error messages.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLLogFile

See the Debug parameter

Specifies path and file name for the log file that is generated when the Debug parameter is set to ON. You must create this directory before setting this parameter.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLDNSRefreshInterval

0 (Lookup once, during startup)

If defined in the proxy configuration, specifies number of seconds interval at which WebLogic Server refreshes DNS name to IP mapping for a server. This can be used in the event that a WebLogic Server instance is migrated to a different IP address, but the DNS name for that server's IP remains the same. In this case, at the specified refresh interval the DNS<->IP mapping will be updated.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

WLTempDir

See the Debug parameter

Specifies the directory where a wlproxy.log will be created. If the location fails, the Plug-In resorts to creating the log file under C:/temp in Windows and /tmp in all Unix platforms.

Also specifies the location of the _wl_proxy directory for POST data files.

When both WLTempDir and WLLogFile are set, WLLogFile will override as to the location of wlproxy.log. WLTempDir will still determine the location of _wl_proxy directory.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

DebugConfigInfo

OFF

Enables the special query parameter “__WebLogicBridgeConfig”. Use it to get details about configuration parameters from the plug-in.

For example, if you enable “__WebLogicBridgeConfig” by setting DebugConfigInfo and then send a request that includes the query string ?__WebLogicBridgeConfig, then the plug-in gathers the configuration information and run-time statistics and returns the information to the browser. The plug-in does not connect to WebLogic Server in this case.

This parameter is strictly for debugging and the format of the output message can change with releases. For security purposes, keep this parameter turned OFF in production systems.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

ErrorPage

none

You can create your own error page that is displayed when your Web server is unable to forward requests to WebLogic Server.

The plug-in redirects to an error page when the back-end server returns an HTTP 503/Service Unavailable response and there are no servers for failover.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLSocketTimeoutSecs

2 (must be greater than 0)

Set the timeout for the socket while connecting, in seconds. See ConnectTimeoutSecs and ConnectRetrySecs for additional details.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLIOTimeoutSecs

(new name for HungServerRecoverSecs)

300

Defines the amount of time the plug-in waits for a response to a request from WebLogic Server. The plug-in waits for WLIOTimeoutSecs for the server to respond and then declares that server dead, and fails over to the next server. The value should be set to a very large value. If the value is less than the time the servlets take to process, then you may see unexpected results.

Minimum value: 10

Maximum value: Unlimited

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

Idempotent

ON

When set to ON and if the servers do not respond within WLIOTimeoutSecs, the plug-ins fail over if the method is idempotent.

The plug-ins also fail over if Idempotent is set to ON and the servers respond with an error such as READ_ERROR_FROM_SERVER.

If set to “OFF” the plug-ins do not fail over. If you are using the Apache HTTP Server you can set this parameter differently for different URLs or MIME types.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLCookieName

(CookieName is deprecated.)

JSESSIONID

If you change the name of the WebLogic Server session cookie in the WebLogic Server Web application, you need to change the WLCookieName parameter in the plug-in to the same value. The name of the WebLogic session cookie is set in the WebLogic-specific deployment descriptor, in the <session-descriptor> element.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

DefaultFileName

none

If the URI is “/” then the plug-in performs the following steps:

Trims the path specified with the PathTrim parameter.

Appends the value of DefaultFileName.

Prepends the value specified with PathPrepend.

This procedure prevents redirects from WebLogic Server.

Set the DefaultFileName to the default welcome page of the Web Application in WebLogic Server to which requests are being proxied. For example, If the DefaultFileName is set to welcome.html, an HTTP request like “http://somehost/weblogic” becomes “http://somehost/weblogic/welcome.html”. For this parameter to function, the same file must be specified as a welcome file in all the Web Applications to which requests are directed. For more information, see Configuring Welcome Pages.

Note for Apache users: If you are using Stronghold or Raven versions, define this parameter inside of a Location block, and not in an IfModule block.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

MaxPostSize

-1

Maximum allowable size of POST data, in bytes. If the content-length exceeds MaxPostSize, the plug-in returns an error message. If set to -1, the size of POST data is not checked. This is useful for preventing denial-of-service attacks that attempt to overload the server with POST data.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

MatchExpression

none

When proxying by MIME type, set the filename pattern inside of an IfModule block using the MatchExpression parameter.

Example when proxying by MIME type:

<IfModule weblogic_module>
 MatchExpression *.jsp
WebLogicHost=myHost|paramName=value
</IfModule>

Example when proxying by path:

<IfModule weblogic_module>
 MatchExpression /weblogic
WebLogicHost=myHost|paramName=value
</IfModule>

It is possible to define a new parameter for MatchExpression using the following syntax:

MatchExpression *.jsp PathPrepend=/test PathTrim=/foo

Oracle HTTP Server

Apache HTTP Server

FileCaching

ON

When set to ON, and the size of the POST data in a request is greater than 2048 bytes, the POST data is first read into a temporary file on disk and then forwarded to the WebLogic Server in chunks of 8192 bytes. This preserves the POST data during failover, allowing all necessary data to be repeated to the secondary if the primary goes down.

Note that when FileCaching is ON, any client that tracks the progress of the POST will see that the transfer has completed even though the data is still being transferred between the WebServer and WebLogic. So, if you want the progress bar displayed by a browser during the upload to reflect when the data is actually available on the WebLogic Server, you might not want to have FileCaching ON.

When set to OFF and the size of the POST data in a request is greater than 2048 bytes, the reading of the POST data is postponed until a WebLogic Server cluster member is identified to serve the request. Then the plug-in reads and immediately sends the POST data to the WebLogic Server in chunks of 8192 bytes.

Note that turning FileCaching OFF limits failover. If the WebLogic Server primary server goes down while processing the request, the POST data already sent to the primary cannot be repeated to the secondary.

Finally, regardless of how FileCaching is set, if the size of the POST data is 2048 bytes or less the plug-in will read the data into memory and use it if needed during failover to repeat to the secondary.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLExcludePathOrMimeType

none

This parameter allows you make exclude certain requests from proxying.

This parameter can be defined locally at the Location tag level as well as globally. When the property is defined locally, it does not override the global property but defines a union of the two parameters.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

KeepAliveSecs

20

The length of time after which an inactive connection between the plug-in and WebLogic Server is closed. You must set KeepAliveEnabled to true (ON when using the Apache HTTP Server) for this parameter to be effective.

The value of this parameter must be less than or equal to the value of the Duration field set in the Administration Console on the Server/HTTP tab, or the value set on the server Mbean with the KeepAliveSecs attribute.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

KeepAliveEnabled

true (Microsoft IIS plug-in)

ON (Oracle HTTP Server and Apache HTTP Server)

ON (Oracle iPlanet Web Server)

Enables pooling of connections between the plug-in and WebLogic Server.

Valid values for the Microsoft IIS plug-ins are true and false.

Valid values for the Apache HTTP Server are ON and OFF.

While using Apache prefork mpm, Apache web server might crash. Turn KeepAliveEnabled to OFF when using prefork mpm or use worker mpm in Apache.

Valid values for Oracle iPlanet Webserver are ON and OFF

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

QueryFromRequest

OFF

When set to ON, specifies that the Apache HTTP Server use

(request_rec *)r->the_ request

to pass the query string to WebLogic Server. (For more information, see the Apache documentation.) This behavior is desirable when a Netscape version 4.x browser makes requests that contain spaces in the query string

When set to OFF, the Apache HTTP Server uses (request_rec *)r->args to pass the query string to WebLogic Server.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

MaxSkipTime

10

If a WebLogic Server listed in either the WebLogicCluster parameter or a dynamic cluster list returned from WebLogic Server fails, the failed server is marked as “bad” and the plug-in attempts to connect to the next server in the list.

MaxSkipTime sets the amount of time after which the plug-in will retry the server marked as “bad.” The plug-in attempts to connect to a new server in the list each time a unique request is received (that is, a request without a cookie).

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

DynamicServerList

ON

When set to OFF, the plug-in ignores the dynamic cluster list used for load balancing requests proxied from the plug-in and only uses the static list specified with the WebLogicCluster parameter. Normally this parameter should remain set to ON.

There are some implications for setting this parameter to OFF:

  • If one or more servers in the static list fails, the plug-in could waste time trying to connect to a dead server, resulting in decreased performance.

  • If you add a new server to the cluster, the plug-in cannot proxy requests to the new server unless you redefine this parameter. WebLogic Server automatically adds new servers to the dynamic server list when they become part of the cluster.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLProxySSL

OFF

Set this parameter to ON to maintain SSL communication between the plug-in and WebLogic Server when the following conditions exist:

  • An HTTP client request specifies the HTTPS protocol

  • The request is passed through one or more proxy servers (including the WebLogic Server proxy plug-ins)

  • The connection between the plug-in and WebLogic Server uses the HTTP protocol

When WLProxySSL is set to ON, the location header returned to the client from WebLogic Server specifies the HTTPS protocol.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLProxyPassThrough

OFF

If you have a chained proxy setup, where a proxy plug-in or HttpClusterServlet is running behind some other proxy or load balancer, you must explicitly enable the WLProxyPassThrough parameter. This parameter allows the header to be passed through the chain of proxies.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLLocalIP

none

Defines the IP address (on the plug-in's system) to bind to when the plug-in connects to a WebLogic Server instance running on a multihomed machine.

If WLLocalIP is not set, If WLLocalIP is not set, the TCP/IP stack will choose the source IP address.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLSendHdrSeparately

ON

When this parameter is set to ON, the header and body of the response are sent in separate packets.

Note: If you need to send the header and body of the response in two calls, for example, in cases where you have other ISAPI filters or programmatic clients that expect headers before the body, set this parameter to ON.

Microsoft IIS

WLFlushChunks

False

By default, IIS plug-in buffers chunked transfer encoding responses instead of streaming the chunks as they are received. When the flag WLFlushChunks is set to true, the plug-in flushes chunks immediately as they are received from WebLogic Server.

Microsoft IIS

WLProxySSLPassThrough

OFF

If a load balancer or other software deployed in front of the web server and plug-in is the SSL termination point, and that product sets the WL-Proxy-SSL request header to true or false based on whether or not the client connected to it over SSL, set WLProxySSLPassThrough to ON so that the use of SSL is passed on to the Oracle WebLogic Server.

If the SSL termination point is in the web server where the plug-in operates, or the load balancer does not set WL-Proxy-SSL, set WLProxySSLPassThrough to OFF (default).

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLServerInitiatedFailover

On

This controls whether or not a 503 error response from Oracle WebLogic Server triggers a failover to another server. Normally, the plug-in will attempt to failover to another server when a 503 error response is received. When WLServerInitiatedFailover is set to OFF, the 503 error response will be returned to the client immediately.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLForwardUriUnparsed

OFF

When set to ON, the WLS plug-in will forward the original URI from the client to WebLogic Server. When set to OFF (default), the URI sent to WebLogic Server is subject to modification by mod_rewrite or other web server plug-in modules.

Oracle HTTP Server

Apache HTTP Server

WLSRequest

OFF

This is an alternative to the SetHandler weblogic-handler mechanism of identifying requests to be forwarded to Oracle WebLogic Server. For example,

<Location /weblogic>
 WLSRequest ON
 PathTrim /weblogic
</Location>

The use of WLSRequest ON instead of SetHandler weblogic-handler has the following advantages:

  • Lower web server processing overhead in general

  • Resolves substantial performance degradation when the web server DocumentRoot is on a slow filesystem

  • Resolves 403 errors for URIs which cannot be mapped to the filesystem due to the filesystem length restrictions

Oracle HTTP Server

Apache HTTP Server


7.1.1 Location of POST Data Files

When the FileCaching parameter is set to ON, and the size of the POST data in a request is greater than 2048 bytes, the POST data is first read into a temporary file on disk and then forwarded to the WebLogic Server in chunks of 8192 bytes. This preserves the POST data during failover.

The temporary POST file is located under /tmp/_wl_proxy for UNIX. For Windows it is located as follows (if WLTempDir is not specified):

  1. Environment variable TMP

  2. Environment variable TEMP

  3. C:\Temp

/tmp/_wl_proxy is a fixed directory and is owned by the HTTP Server user. When there are multiple HTTP Servers installed by different users, some HTTP Servers might not be able to write to this directory. This condition results in an error.

To correct this condition, use the WLTempDir parameter to specify a different location for the _wl_proxy directory for POST data files.

7.2 SSL Parameters for Web Server Plug-Ins

Note:

SCG Certificates are not supported for use with WebLogic Server Proxy Plug-Ins. Non-SCG certificates work appropriately and allow SSL communication between WebLogic Server and the plug-in.

KeyStore-related initialization parameters are not supported for use with WebLogic Server Proxy Plug-Ins

The SSL parameters for Web Server plug-ins are shown in Table 7-2. Parameters are case sensitive.

Table 7-2 SSL Parameters for Web Server Plug-Ins

Parameter Default Description Applicable to

SecureProxy

OFF

Set this parameter to ON to enable the use of the SSL protocol for all communication between the plug-in and WebLogic Server. Remember to configure a port on the corresponding WebLogic Server for the SSL protocol before defining this parameter.

This parameter may be set at two levels: in the configuration for the main server and—if you have defined any virtual hosts—in the configuration for the virtual host. The configuration for the virtual host inherits the SSL configuration from the configuration of the main server if the setting is not overridden in the configuration for the virtual host.

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLSSLWallet

none

WLSSLWallet performs one-way or two-way SSL based on how SSL is configured for Oracle WebLogic Server.

Requires the path of an Oracle Wallet (containing an SSO wallet file) as an argument.

For example, WLSSLWallet "ORACLE_INSTANCE}/config/COMPONENT_TYPE/COMPONENT_NAME/default"

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS