You can override the default attribute values of the plugin-cfg.xml file
that is automatically generated by the on demand router (ODR).
The following elements are formatted as com.ibm.ws.odr.plugincfg.<element>.<attributeName>,
where <element> is the name of the configuration
file keyword that denotes the element that contains an attribute,
and <attributeName> is the name of the attribute
that is located within that element. Configure the elements as JVM
system properties. To set a JVM system property on the ODR in the
administrative console, click Servers > On Demand Routers > on_demand_router >
Java and Process Management > Process Definition > Java Virtual Machine
> Custom Properties > New.
Config
This element starts the plug-in
configuration file. It can include one or more of the following elements
and attributes.
- com.ibm.ws.odr.plugincfg.config.ASDisableNagle
- Specifies whether the user wants to disable Nagle's algorithm
for the connection between the plug-in and the server.
The default
value is false.
- com.ibm.ws.odr.plugincfg.config.AcceptAllContent
- Specifies whether or not you can include content in POST, PUT,
GET, and HEAD requests when a Content-Length or Transfer-encoding
header is contained in the request header. You can specify one of
the following values for this attribute:
- True if content is to be expected and read for all requests
- False if content only is only to be expected and read for POST
and PUT requests.
The default value is false.
- com.ibm.ws.odr.plugincfg.config.AppServerPortPreference
- Specifies which port number is used to build URI's for a sendRedirect.
The
default value is HostHeader.
- com.ibm.ws.odr.plugincfg.config.ChunkedResponse
- Specifies whether the plug-in groups the response to the client
when a Transfer-Encoding : Chunked response header is present in the
response.
You can specify one of the following values for this
attribute:
- True if the plug-in is to chunk the response
to the client when a Transfer-Encoding : Chunked response header is
present in the response.
- False if the response is not to be chunked.
The default value is false.
- com.ibm.ws.odr.plugincfg.config.IISDisableNagle
- Specifies if you want to disable nagle algorithm.
The default
value is false.
- com.ibm.ws.odr.plugincfg.config.IISPluginPriority
- Specifies the priority in which the Web server loads the plug-in.
You can specify one of the following values for this attribute:
The default value is High.
- com.ibm.ws.odr.plugincfg.config.IgnoreDNSFailures
- Specifies if the plug-in ignores DNS failures within a configuration
when started. When set to true, the plug-in ignores
DNS failures within a configuration and starts successfully if at
least one server in each ServerCluster resolves the host name. Any
server for which the host name is not resolved is marked unavailable for
the life of the configuration. The host name is not resolved later
during the routing of requests. If a DNS failure occurs, a log message
is written to the plug-in log file and the plug-in continues initializing
instead of the Web server not starting.
The default value is false.
- com.ibm.ws.odr.plugincfg.config.RefreshInterval
- The time interval, in seconds, at which the plug-in should check
the configuration file for updates or changes. The plug-in checks
the file for any modifications that occur since the plug-in configuration
was loaded.
The default value is 60. In a
development environment in which changes are frequent, set the time
interval to less than 60 seconds. In production, set a higher value
than the default, because updates to the configuration do not occur
as often. If the plug-in reload is not successful, the plug-in log
file contains a message, and the previous configuration is used until
the plug-in configuration file successfully reloads. Refer to the
plug-in log file for more information if an error occurs.
- com.ibm.ws.odr.plugincfg.config.ResponseChunkSize
- The plug-in file reads the response body in 64k chunks until all
of the response data is read, which causes a performance problem for
requests whose response body contains large amounts of data.
Use
this attribute to specify the maximum chunk size to use when reading
the response body. For example, Config ResponseChunkSize="N">,
where N equals the chunk size in kilobytes.
If the content length
of the response body is unknown, a buffer size of N kilobytes is allocated
and the body is read in N kilobyte size chunks, until the entire body
is read. If the content length is known, then a buffer size of either
content length or N is used to read the response body.
The
default chunk size is 64k.
- com.ibm.ws.odr.plugincfg.config.VHostMatchingCompat
- Specifies to use the port number for virtual host matching. The
following values can be specified:
- True for physically matching by using the
port number for which the request is received.
- False for logically matching by using the
port number contained in the host header.
The default is false.
- com.ibm.ws.odr.plugincfg.odrIncludeStopped
- Specifies to allow the inclusion of stopped ODRs. The following
values can be specified:
- True for including stopped ODRs.
- False for not including stopped ODRs.
The default is false.
- com.ibm.ws.odr.plugincfg.config.TrustedProxyEnable
- Specifies the trusted proxies. The following values can be specified:
- True for including trusted proxies.
- False for not including trusted proxies.
The default is false. The trusted proxies
are collected from the defined trusted security proxies on the On
Demand Router Properties > On Demand Router settings administrative
console page.
Log
The log describes the location and level
of log messages that are written by the plug-in. If a log is not specified
within the configuration file, the log messages might be written to
the error log.
- com.ibm.ws.odr.plugincfg.log.Name
- The fully qualified path to the log file to which the plug-in
writes error messages.
The default value is profileRoot/logs/http_plugin.log.
- com.ibm.ws.odr.plugincfg.log.LogLevel
- The level of detail of the log messages that the plug-in writes
to the log. You can specify one of the following values for this attribute:
- Trace. All of the steps in the request
process are logged in detail.
- Stats. The server selected for each request
and other load balancing information relating to request handling
is logged.
- Warn. All warning and error messages resulting
from abnormal request processing are logged.
- Error. Only error messages resulting from
abnormal request processing are logged.
- Debug. All of the critical steps performed
in processing requests are logged.
- Detail. All of the information about requests
and responses are logged.
The default value is
Error.
CAUTION:
A lot of messages are logged at the trace level, which
can cause the file system to fill up very quickly. Never use a trace
setting in a normally functioning environment as it adversely affects
performance.
ServerCluster
This element is a group of
servers that are generally configured to service the same type of
requests.
In the simplest case, the cluster contains only one
server definition. When you define more than one server, the plug-in
completes a load balance across the defined servers by using either
a Round Robin or a Random algorithm. The default is Round Robin.
- com.ibm.ws.odr.plugincfg.cluster.CloneSeparatorChange
- Some pervasive devices cannot handle the colon character (:) that
is used to separate clone IDs in conjunction with session affinity.
This attribute tells the plug-in to expect the plus character (+)
as the clone separator. You must change the server configurations
so that the server separates clone IDs with the plus character as
well.
The default value is false.
- com.ibm.ws.odr.plugincfg.cluster.LoadBalance
- The Round Robin implementation has a random starting point. The
first server is selected randomly, and the Round Robin value is used
to select servers from that point forward. This implementation ensures
that in multiple process-based Web servers, all of the processes do
not start by sending the first request to the same server.
The
default load balancing type is Round Robin.
- com.ibm.ws.odr.plugincfg.cluster.PostSizeLimit
- The maximum number of bytes of request content allowed for the
plug-in to attempt to send the request to a server. If a request is
received that is greater than this size, the plug-in ends the request.
The
default value is -1 bytes, which indicates that
there is no limit for the post size.
- com.ibm.ws.odr.plugincfg.cluster.RemoveSpecialHeaders
- The plug-in adds special headers to the request before it is forwarded
to the server. These headers store information about the request that
the application then uses. By default, the plug-in removes these headers
from incoming requests before adding the required headers.
The default
value is true. If you set the attribute to false,
you introduce a potential security exposure by not removing headers
from incoming requests.
- com.ibm.ws.odr.plugincfg.cluster.RetryInterval
- An integer that specifies the length of time that elapses from
the time a server is marked down to the time that the plug-in reattempts
to make a connection.
The default value is 60 seconds.
Server
This element is a server instance
that is configured to handle requests routed to it based on the routing
rules of the plug-in configuration. The server element corresponds
to an application server running on either the local workstation or
a remote workstation.
- com.ibm.ws.odr.plugincfg.server.ServerIOTimeout
- Enables the plug-in to set a timeout value, in seconds, for sending
requests to and reading responses from the server.
If a value
is not set, the plug-in, by default, uses blocked I/O to write request
to and read response from the server until the TCP connection times
out. When selecting a value for this attribute, remember that it might
take several minutes for a server to process a request. Setting the
value of the ServerIOTimeout attribute too low might cause the plug-in
to send a false server error response to the client.
The default
value is 60.
For more information on how
to configure the ServerIOTimeout attribute, see the web server plug-in configuration technote.
- com.ibm.ws.odr.plugincfg.server.ConnectTimeout
- Enables the plug-in to perform non-blocking connections with the
application server, which are beneficial when the plug-in is unable
to contact the destination to determine if the port is available or
unavailable.
If no value is specified, the plug-in performs
a blocking connect in which the plug-in waits until an operating system
times out and allows the plug-in to mark the server unavailable.
A value greater than 0 specifies the number of
seconds the plug-in waits for a successful connection. If a connection
does not occur after that time interval, the plug-in marks the server unavailable,
and proceeds with one of the other servers defined in the cluster.
The
default value is 0.
- com.ibm.ws.odr.plugincfg.server.ExtendedHandShake
- Used when a proxy firewall is between the plug-in and the application
server. In such a case, the plug-in is not failing over, as expected.
The
plug-in marks a server as stopped when the connect() ends. However,
when a proxy firewall is in between the plug-in and the application
server, the connect() succeeds, even though the back-end application
server is stopped. This causes the plug-in to not failover correctly
to other application servers.
The plug-in contains this attribute
to ensure that it is started before sending the request.
The
default value is false.
- com.ibm.ws.odr.plugincfg.server.MaxConnections
- Specifies the maximum number of pending connections to a server
that flows through a Web server process at any point in time.
The
default value is set to -1.
- com.ibm.ws.odr.plugincfg.cluster.WaitForContinue
- Specifies whether to use the HTTP 1.1 100 Continue support before
sending the request content to the application server. The default
value is false. The plug-in does not wait for
the 100 Continue response from the application server before sending
the request content.
This property is ignored for POST requests
to prevent a failure from occurring if the application server closes
a connection because of a time-out.
Enable this function when
configuring the plug-in to work with certain types of proxy firewalls.
Property
- com.ibm.ws.odr.plugincfg.property.ESIEnable
- Used to enable or disable the Edge Side Include (ESI) processor.
If the ESI processor is disabled, the other ESI elements in the file
are ignored.
The default value is true.
- com.ibm.ws.odr.plugincfg.property.ESIMaxCacheSize
- An integer specifying, in 1K byte units, the maximum size of the
cache. The default maximum size of the cache is 1024K bytes (1 megabyte).
If the cache is full, the first entry to be evicted from the cache
is the entry that is closest to its expiration time.
- com.ibm.ws.odr.plugincfg.property.ESIInvalidationMonitor
- Indicates whether or not the ESI processor receives invalidations
from the application server.
The default value is false.
- com.ibm.ws.odr.plugincfg.property.https.keyring
- Use this element to specify the initialization parameters when
the protocol of the transport is set to HTTPS.
This attribute is
a supported name that is recognized by the transport. The default
value for the keyring element is profileRoot/etc/plugin-key.kdb.
- com.ibm.ws.odr.plugincfg.property.https.stashfile
- The default value for the stash file is profileRoot/node/etc/plugin-key.sth
- com.ibm.ws.odr.plugincfg.property.PluginInstallRoot
- Specifies the installation path for the plug-in. The default value
is "". Set the value, however, to the fully qualified
path of the plug-in installation root, or the property is not displayed
in the plugin-cfg.xml file.