BEA Home | Events | Solutions | Partners | Products | Services | Download | Developer Center | WebSUPPORT
| WebLogic Server Doc Home | Administration Guide | Previous Topic | Next Topic | Contents | Index | View as PDF

Parameters for Web Server Plug-ins

The following sections describe the parameters that you use to configure the Apache, Netscape, and Microsoft IIS Web Server plug-ins:

- Overview

- General Parameters for Web Server Plug-Ins

- SSL Parameters for Web Server Plug-Ins

Overview

You enter the parameters for each Web Server Plug-in special configuration files. Each Web Server has a different name for this configuration file and different rules for formatting the file. For details, see the following sections on each plug-in:

- Installing and Configuring the Apache HTTP Server Plug-In

- Installing and Configuring the Microsoft Internet Information Server (ISAPI) Plug-In

- Installing and Configuring the Netscape Enterprise Server Plug-In (NSAPI)

Enter Web Server plug-ins parameters as described in the following table.

General Parameters for Web Server Plug-Ins

Note: Parameters are case sensitive.``

Parameter | Default | Description
--- | --- | ---
`WebLogicHost` | `none` | Identifies a single instance of WebLogic Server to which HTTP requests should be forwarded. Note: Use only when proxying to a single server instance. To proxy to a WebLogic Server cluster, use the `WebLogicCluster` instead.
`WebLogicPort` | `none` | Port at which the WebLogic Server host is listening for WebLogic connection requests. If you are using SSL between the plug-in and WebLogic Server, set this parameter to the SSL listen port (see Configuring the Listen Port) and set the SecureProxy parameter to `ON` ). Note: Use only when proxying to a single server instance. If you are using a WebLogic Server Cluster, use the WebLogicCluster parameter instead of `WebLogicPort`.
`WebLogicCluster` | `none` | Identifes the WebLogic Server instances to which HTTP requests should be forwarded. The `WebLogicCluster` parameter specifies the host name and listen port for each server instance specified. The method of specifying the parameter, and the required format vary by plug-in. See the examples in: "Installing and Configuring the Netscape Enterprise Server Plug-In (NSAPI)" "Installing and Configuring the Microsoft Internet Information Server (ISAPI) Plug-In" "Installing and Configuring the Apache HTTP Server Plug-In" If you are using SSL between the plug-in and WebLogic Server, set the port number to the SSL listen port (see Configuring the Listen Port) and set the SecureProxy parameter to ON. The plug-in does a simple round-robin among all available cluster members. 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 servers. If a mixed set of clusters and single servers is specified, the dynamic list returned for this parameter will return only the clustered servers. 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.
`PathTrim` | `null` | String trimmed by the plug-in from the beginning 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.
`PathPrepend` | `null` | String that the plug-in prepends to the beginning of the original URL, after PathTrim is trimmed and before the request is forwarded to WebLogic Server.
`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.
WLDNSRefreshInterval | 0 (Lookup once, during startup) | Only applies to NSAPI and Apache. If defined in the proxy configuration, specifies number of seconds interval at which WebLogic Server refreshes the server list.
`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.
FilterPriorityLevel (Microsoft Internet Information Server only) | 2 | The values for this parameter are 0 (low), 1 (medium), and 2 (high). The default value is 2. This priority should be set in the iisforward.ini file.This property is used to set the priority level for the iisforward.dll filter in IIS. Priority level is used by IIS to decide which filter will be invoked first, in case multiple filters match the incoming request.
`Debug` | `OFF` | Sets the type of logging performed for debugging operations. It is not advisable to switch on these debugging options in production systems. The debugging information is written to the `/tmp/wlproxy.log` file on UNIX systems and `c:\TEMP\wlproxy.log` on Windows NT/2000 systems. You can override this location and filename by setting the WLLogFile parameter to a different directory and file. For Debug to work correctly, the system administrator must ensure that write permission for the tmp or TEMP directory has been set to the user logged on to the server. You can set any of the following logging options (the `HFC,HTW,HFW`, and `HTC` options may be set in combination by entering them separated by commas, for example "`HFC,HTW`"): `ON` Logs only informational and error messages. `OFF` No debugging information is logged. `HFC` The plug-in logs headers from the client, informational, and error messages. `HTW` Logs headers sent to WebLogic Server, informational messages, and error messages. `HFW` Logs headers sent from WebLogic Server, informational messages, and error messages. `HTC` The plug-in logs headers sent to the client, informational messages, and error messages. `ALL` The plug-in logs headers sent to and from the client and to and from WebLogic Server, information messages, and error messages. `ERR` Prints only the Error messages in the plug-in.
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.
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.
`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 the 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.
`StatPath` (Not available for the Microsoft Internet Information Server Plug-In) | `false` | If set to `true`, the plug-in checks the existence and permissions of the translated path ("Proxy-Path-Translated") of the request before forwarding the request to WebLogic Server. If the file does not exist, an `HTTP 404 File Not Found` response is returned to the client. If the file exists but is not world-readable, an `HTTP 403/Forbidden` response is returned to the client. In either case, the default mechanism for the Web server to handle these responses fulfills the body of the response. This option is useful if both the WebLogic Server Web Application and the Web Server have the same document root. You can customize the error response by using the ErrorPage parameter.
`ErrorPage` | `none` | You can create your own error page that is displayed when your Web server is unable to forward requests to WebLogic Server.
`WLSocketTimeoutSecs` | 2 (must be greater than 0) | Set the timeout for the socket while connecting, in seconds.
`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 `HungServerRecoverSecs` 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`
`Idempotent` | `ON` | When set to `ON` and if the servers do not respond within HungServerRecoverSecs), the plug-ins fail over. If set to "`OFF`" the plug-ins do not fail over. If you are using the Netscape Enterprise Server Plug-In, or Apache HTTP Server you can set this parameter differently for different URLs or MIME types.
`CookieName` | `JSESSIONID` | If you change the name of the WebLogic Server session cookie in the WebLogic Server Web Application, you need to change the `CookieName` 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.
`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.
`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.
`MatchExpression` (Apache HTTP Server only) | `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 mod_weblogic.c> MatchExpression *.jsp WebLogicHost=myHost|paramName=value </IfModule>` Example when proxying by path: `<IfModule mod_weblogic.c> MatchExpression /weblogic WebLogicHost=myHost|paramName=value </IfModule>`
`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 stored on disk in a temporary file and forwarded to WebLogic Server in chunks of 8192 bytes. Setting `FileCaching` to `ON`, however, can cause a problem with the progress bar displayed by a browser that indicates the progress of a download. The browser shows that the download has completed even though the file is still being transferred. When set to `OFF` and size of the POST data in a request is greater than 2048 bytes, the POST data is stored in memory and sent to WebLogic Server in chunks of 8192 bytes. Setting to `OFF` causes problems if the server goes down while processing the request because the plug-in is not able to fail over.
`WlForwardPath` (Microsoft Internet Information Server only) | null | If `WlForwardPath` is set to "/" all requests are proxied. To forward any requests starting with a particular string, set `WlForwardPath` to the string. For example, setting `WlForwardPath` to `/weblogic` forwards all requests starting with `/weblogic` to Weblogic Server. This parameter is required if you are proxying by path. You can set multiple strings by separating the strings with commas. For example: `WlForwardPath=/weblogic,/bea`.
`KeepAliveSecs` (Does not apply to Apache HTTP Server version 1.3.x) | `30` | 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 plug-in) 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.
`KeepAliveEnabled` (Does not apply to Apache HTTP Server version 1.3.x) | `true` (Netscape and Microsoft IIS plug-in) `ON` (Apache plug-in) | Enables pooling of connections between the plug-in and WebLogic Server. Valid values for the Netscape and Microsoft IIS plug-ins are `true` and `false`. Valid values for the Apache plugin-in are `ON` and `OFF`.
`QueryFromRequest` (Apache HTTP Server only) | `OFF` | When set to `ON`, specifies that the Apache plug-in use `(request_rec *)r->the request` to pass the query string to WebLogic Server. (For more information, see your Apache documentation.) This behavior is desirable in the following situations: When a Netscape version 4.x browser makes requests that contain spaces in the query string If you are using Raven Apache 1.5.2 on HP When set to `OFF`, the Apache plug-in uses `(request_rec *)r->args` to pass the query string to WebLogic Server.
`MaxSkipTime` | 10 | Valid only if DynamicServerList is set to `OFF`. 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. `MaxSkips` 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).
`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.
`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.
WLExcludePathOrMimeType | None | Set this parameter to 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.

SSL Parameters for Web Server Plug-Ins

Note: Parameters are case sensitive.``

Parameter | Default | Description
--- | --- | ---
`SecureProxy` | `OFF` | Set this parameter to `ON` to enable the use of the SSL protocol for all communication between the WebLogic Server proxy 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.
`TrustedCAFile` | `none` | Name of the file that contains the digital certificates for the trusted certificate authorities for the WebLogic Server proxy plug-in. This parameter is required if the SecureProxy parameter is set to `ON`. The filename must include the full directory path of the file.
`RequireSSLHostMatch` | `true` | Determines whether the host name to which the WebLogic Server proxy plug-in is connecting must match the Subject Distinguished Name field in the digital certificate of the WebLogic Server to which the proxy plug-in is connecting.
`SSLHostMatchOID` | `22` | The ASN.1 Object ID (OID) that identifies which field in the Subject Distinguished Name of the peer digital certificate is to be used to perform the host match comparison. The default for this parameter corresponds to the `CommonName` field of the Subject Distinguished Name. Common OID values are: Sur Name—23 Common Name—22 Email—13 Organizational Unit—30 Organization—29 Locality—26

Configuring Web Applications and Clusters for the Plug-in

Set the following attributes on a cluster or a Web application to configure security for applications accessed via the plug-in.

- `WeblogicPluginEnabled`—If you set this attribute to true for a cluster or a Web application that receives requests from the `HttpClusterServlet`, the servlet will respond to `getRemoteAddr` calls with the address of the browser client from the proprietary `WL-Proxy-Client-IP` header, instead of returning the Web server address.

- `ClientCertProxy` Enabled—If you set this attribute to true for a cluster or a Web application that receives requests from `HttpClusterServlet`, the plug-in sends client certs to the cluster in the special `WL-Proxy-Client-Cert` header, allowing user authentication to be performed on the proxy server.

Copyright © 2001 BEA Systems, Inc. All rights reserved. Required browser: Netscape 4.0 or higher, or Microsoft Internet Explorer 4.0 or higher.