diff options
Diffstat (limited to 'rubbos/app/tomcat-connectors-1.2.32-src/docs/reference')
10 files changed, 0 insertions, 6533 deletions
diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/apache.html b/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/apache.html deleted file mode 100644 index 9e7a7aa5..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/apache.html +++ /dev/null @@ -1,1011 +0,0 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connector - Reference Guide - Configuring Apache</title><meta name="author" value="Mladen Turk"><meta name="email" value="mturk@apache.org"><link href="../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="true"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Reference Guide</strong></p><ul><li><a href="../reference/workers.html">workers.properties</a></li><li><a href="../reference/uriworkermap.html">uriworkermap.properties</a></li><li><a href="../reference/status.html">Status Worker</a></li><li><a href="../reference/apache.html">Apache HTTP Server</a></li><li><a href="../reference/iis.html">IIS</a></li></ul><p><strong>Generic HowTo</strong></p><ul><li><a href="../generic_howto/quick.html">For the impatient</a></li><li><a href="../generic_howto/workers.html">All about workers</a></li><li><a href="../generic_howto/timeouts.html">Timeouts</a></li><li><a href="../generic_howto/loadbalancers.html">Load Balancing</a></li><li><a href="../generic_howto/proxy.html">Reverse Proxy</a></li></ul><p><strong>Webserver HowTo</strong></p><ul><li><a href="../webserver_howto/apache.html">Apache HTTP Server</a></li><li><a href="../webserver_howto/iis.html">IIS</a></li><li><a href="../webserver_howto/nes.html">Netscape/SunOne/Sun</a></li></ul><p><strong>AJP Protocol Reference</strong></p><ul><li><a href="../ajp/ajpv13a.html">AJPv13</a></li><li><a href="../ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul><p><strong>Miscellaneous Documentation</strong></p><ul><li><a href="../miscellaneous/faq.html">Frequently asked questions</a></li><li><a href="../miscellaneous/changelog.html">Changelog</a></li><li><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Tomcat+Connectors&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Current Tomcat Connectors bugs</a></li><li><a href="../miscellaneous/doccontrib.html">Contribute documentation</a></li><li><a href="../miscellaneous/jkstatustasks.html">JK Status Ant Tasks</a></li><li><a href="../miscellaneous/reporttools.html">Reporting Tools</a></li><li><a href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html">Old JK/JK2 documentation</a></li></ul><p><strong>News</strong></p><ul><li><a href="../news/20110701.html">2011</a></li><li><a href="../news/20100101.html">2010</a></li><li><a href="../news/20090301.html">2009</a></li><li><a href="../news/20081001.html">2008</a></li><li><a href="../news/20070301.html">2007</a></li><li><a href="../news/20060101.html">2006</a></li><li><a href="../news/20050101.html">2005</a></li><li><a href="../news/20041100.html">2004</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left"><table border="0" width="100%" cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connector - Reference Guide</h1><h2>Configuring Apache</h2></td><td align="right" valign="top" nowrap="true"><small><a href="printer/apache.html"><img src="../images/printer.gif" border="0" alt="Printer Friendly Version"><br>print-friendly<br>version - </a></small></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Configuration Directives"><strong>Configuration Directives</strong></a></font></td></tr><tr><td><blockquote> -<p> -Most of the directives are allowed once in the global part of the Apache httpd -configuration and once in every <VirtualHost> elements. Exceptions from this rule are -explicitly listed in the table below. -</p> -<p> -Most values are inherited from the main server to the virtual hosts. -Since version 1.2.20 they can be overwritten in the virtual hosts. -Exceptions from this rule are again explicitly listed in the table below. -See especially JkMountCopy. -</p> -<p><font color="#ff0000"> -Warning: If Apache httpd and Tomcat are configured to serve content from -the same filing system location then care must be taken to ensure that httpd is -not able to serve inappropriate content such as the contents of the WEB-INF -directory or JSP source code. -</font></p> -<p> -This could occur if the httpd DocumentRoot -overlaps with a Tomcat Host's appBase or the docBase of any Context. It could -also occur when using the httpd Alias directive with a Tomcat Host's appBase or -the docBase of any Context. -</p> -<p> -Here are the all directives supported by Apache: -</p> -<table border="1" cellpadding="5"><tr><th width="20%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="80%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>JkWorkersFile</code></td><td align="left" valign="center"><p> -The name of a worker file for the Tomcat servlet containers. -<br> -This directive is only allowed once. It must be put into -the global part of the configuration. -<br> -If you don't use the JkWorkerProperty directives, then you must -define your workers with a valid JkWorkersFile. There is no default -value. -</p></td></tr><tr><td align="left" valign="center"><code>JkWorkerProperty</code></td><td align="left" valign="center"><p> -Enables setting worker properties inside Apache configuration file. -The syntax is the same as in the JkWorkersFile (usually workers.properties). -Simply prefix each line with "JkWorkerProperty" to put it directly into -the Apache httpd config files. -<br> -This directive is allowed multiple times. -It must be put into the global part of the configuration. -<br> -If you don't use the JkWorkerProperty directives, then you must -define your workers with a valid JkWorkersFile. There is no default -value. -<br> -This directive is available in jk1.2.7 version and later. -</p></td></tr><tr><td align="left" valign="center"><code>JkShmFile</code></td><td align="left" valign="center"><p> -Shared memory file name. Used only on unix platforms. -The shm file is used by balancer and status workers. -<br> -This directive is only allowed once. It must be put into -the global part of the configuration. -<br> -The default value is logs/jk-runtime-status. -It is highly recommended that the shm file be placed on a local -drive and not an NFS share. -</p> -<p> -The shared memory contains configuration and runtime information for load balancer -workers and their members. It is need in order that all apache children -<ul> -<li>share the same status information for load balancing members (OK, ERROR, ...),</li> -<li>share the information about load taken by the individual workers,</li> -<li>share the information for the parts of the configuration, which are changeable -during runtime by status workers.</li> -</ul> -</p> -</td></tr><tr><td align="left" valign="center"><code>JkShmSize</code></td><td align="left" valign="center"><p> -Size of the shared memory file name. -<br> -This directive is only allowed once. It must be put into -the global part of the configuration. -<br> -The default value depends on the platform. It is usually less than 64KB. -</p></td></tr><tr><td align="left" valign="center"><code>JkMountFile</code></td><td align="left" valign="center"><p> -File containing multiple mappings from a context to a Tomcat worker. -It is usually called uriworkermap.properties. -<br> -For inheritance rules, see: JkMountCopy. -<br> -There is no default value. -</p></td></tr><tr><td align="left" valign="center"><code>JkMountFileReload</code></td><td align="left" valign="center"><p> -This directive configures the reload check interval in seconds. -The JkMountFile is checked periodically for changes. -A changed file gets reloaded automatically. If you set -this directive to "0", reload checking is turned off. -<br> -The default value is 60 seconds. -<br> -This directive has been added in version 1.2.20 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkMount</code></td><td align="left" valign="center"><p> -A mount point from a context to a Tomcat worker. -<br> -This directive is allowed multiple times. -It is allowed in the global configuration and in VirtualHost. -You can also use it inside Location with a different syntax. -Inside Location, one omits the first argument (path), -which gets inherited from the Location. -<br> -By default JkMount entries are not inherited from the global -server to other VirtualHosts or between VirtualHosts. -For the complete inheritance rules, see: JkMountCopy. -</p></td></tr><tr><td align="left" valign="center"><code>JkUnMount</code></td><td align="left" valign="center"><p> -An exclusion mount point from a context to a Tomcat worker. -All exclusion mounts are checked after mapping a request -to a tomcat worker. If the request maps also to an exclusion, -it will not be forwarded to tomcat, and instead be served locally. -<br> -This directive is allowed multiple times. -It is allowed in the global configuration and in VirtualHost. -You can also use it inside Location with a different syntax. -Inside Location, one omits the first argument (path), -which gets inherited from the Location. -For inheritance rules, see: JkMountCopy. -<br> -This directive is available in jk1.2.7 version and later. -</p></td></tr><tr><td align="left" valign="center"><code>JkAutoAlias</code></td><td align="left" valign="center"><p> -Automatically Alias webapp context directories into the Apache -document space. -<br> -Care should be taken to ensure that only static content is served via httpd as a -result of using this directive. Any static content served by httpd will bypass any -security constraints defined in the application's web.xml. -<br> -For inheritance rules, see: JkMountCopy. -<br> -There is no default value. -</p></td></tr><tr><td align="left" valign="center"><code>JkMountCopy</code></td><td align="left" valign="center"><p> -If this directive is set to "On" in some virtual server, -the mounts from the global server will be copied to this -virtual server, more precisely all mounts defined by JkMount -or JkUnMount. The Mounts defined by JkMountFile and JkAutoAlias -will only be inherited, if the VirtualHost does not define -it's own JkMountFile or JkAutoAlias. -<br> -If you want all vhost to inherit mounts from the main server, -you can set JkMountCopy to 'All' in the main server. -<br> -This directive is only allowed inside VirtualHost (with value "On") -and in the global server (with value "All"). -<br> -The default is Off, so no mounts will be inherited from the global -server to any VirtualHost. -<br> -Starting with version 1.2.26 you can also set it to "All" in the -global virtual server. This will switch the default to On. -</p></td></tr><tr><td align="left" valign="center"><code>JkWorkerIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that can be used to set worker names -in combination with SetHandler jakarta-servlet. -<br> -This directive is only allowed once per virtual server. -It is allowed in the global configuration and in VirtualHost. -<br> -The default value is JK_WORKER_NAME. -</p></td></tr><tr><td align="left" valign="center"><code>JkWatchdogInterval</code></td><td align="left" valign="center"><p> -This directive configures the watchdog thread interval in seconds. -The workers are maintained periodically by a background thread -running periodically every watchdog_interval seconds. Worker maintenance -checks for idle connections, corrects load status and is able -to detect backend health status. -<br> -The maintenance only happens, if since the last maintenance at -least <a href="workers.html"><b class="code">worker.maintain</b></a> -seconds have passed. So setting the JkWatchdogInterval -much smaller than <b class="code">worker.maintain</b> is not useful. -<br> -The default value is 0 seconds, meaning the watchdog thread -will not be created, and the maintenance is done in combination -with normal requests instead. -<br> -This directive is only allowed once. It must be put into -the global part of the configuration. -<br> -This directive has been added in version 1.2.27 of mod_jk. -It is available only for httpd 2.x and above using APR libraries -including thread support. -</p></td></tr><tr><td align="left" valign="center"><code>JkLogFile</code></td><td align="left" valign="center"><p> -Full or server relative path to the Tomcat Connector module log file. -It will also work with pipe, by using a value of the form "| ...". -<br> -The default value is logs/mod_jk.log. -<br> -Pipes are supported for Apache 1.3 only since version 1.2.16. -The default value exists only since version 1.2.20. -</p></td></tr><tr><td align="left" valign="center"><code>JkLogLevel</code></td><td align="left" valign="center"><p> -The Tomcat Connector module log level, can be debug, info, warn -error or trace. -<br> -The default value is info. -</p></td></tr><tr><td align="left" valign="center"><code>JkLogStampFormat</code></td><td align="left" valign="center"><p> -The Tomcat Connector module <b>date</b> log format, using an -extended strftime syntax. -This format will be used for the time stamps in the JkLogFile. -The maximum length of the format is 63 characters. -<br> -Starting with version 1.2.24 of mod_jk you can also use %Q -for adding milliseconds to the log and %q for microseconds. -These conversion specifiers are an extension to strftime. -They will only work on platforms with a gettimeofday() function. -You can use %Q and %q only once in the pattern and also not both -together in the same pattern. -<br> -The default value is "[%a %b %d %H:%M:%S %Y] " and beginning -with version 1.2.24 on platforms with a gettimeofday() -function it is "[%a %b %d %H:%M:%S.%Q %Y] ". -</p></td></tr><tr><td align="left" valign="center"><code>JkRequestLogFormat</code></td><td align="left" valign="center"><p> -Request log format string. See detailed description below. -<br> -There is no default value. Without defining a value, the request logging -is turned off. -</p></td></tr><tr><td align="left" valign="center"><code>JkExtractSSL</code></td><td align="left" valign="center"><p> -Turns on SSL processing and information gathering by mod_jk -<br> -The default value is On. -<br> -In order to make SSL data available for mod_jk in Apache, you need to -set <b class="code">SSLOptions +StdEnvVars</b>. For the certificate information you also need -to add <b class="code">SSLOptions +ExportCertData</b>. -</p> -<p> - Specifically, mod_jk will export the following environment variables from - Apache httpd to Tomcat under these request attributes as per the - Servlet Specification 3.0, section 3.8: -</p> -<table> - <tr><th>Env Var</th><th>Request Attribute Name</th><th>Type</th><th>Example</th></tr> - <tr> - <td>SSL_CIPHER<br>(or <b class="code">JkKEYSIZEIndicator</b>)</td> - <td>javax.servlet.request.cipher_suite</td> - <td>java.lang.String</td> - <td>DHE-RSA-AES256-SHA</td> - </tr> - <tr> - <td>SSL_CIPHER_USEKEYSIZE<br>(or <b class="code">JkKEYSIZEIndicator</b>)</td> - <td>javax.servlet.request.key_size</td> - <td>java.lang.Integer</td> - <td>256</td> - </tr> - <tr> - <td>SSL_SESSION_ID<br>(or <b class="code">JkSESSIONIndicator</b>)</td> - <td>javax.servlet.request.ssl_session</td> - <td>java.lang.String</td> - <td>905...32E (a hex string)</td> - </tr> - <tr> - <td>SSL_CLIENT_CERT_CHAIN_<i>n</i><br>(or <b class="code">JkCERTCHAINPrefix</b><i>n</i>)</td> - <td>javax.servlet.request.X509Certificate</td> - <td>java.security.X509Certificate[]</td> - <td>(A chain of certs in ascending order of trust, the first one being - ths client's certificate, the second being the signer of that - certificate, and so on)</td> - </tr> -</table> -<p> - For all other SSL-related variables, use <b class="code">JkEnvVar</b> for each - variable you want. Please note that, like <b class="code">JkEnvVar</b>, these - variables are available from the request <i><b>attributes</b></i>, not as - environment variables or as request headers. -</p> -</td></tr><tr><td align="left" valign="center"><code>JkHTTPSIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that contains SSL indication. -<br> -The default value is "HTTPS". -</p></td></tr><tr><td align="left" valign="center"><code>JkCERTSIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that contains SSL client certificates. -<br> -The default value is "SSL_CLIENT_CERT". -</p></td></tr><tr><td align="left" valign="center"><code>JkCIPHERIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that contains SSL client cipher. -<br> -The default value is "SSL_CIPHER". -</p></td></tr><tr><td align="left" valign="center"><code>JkCERTCHAINPrefix</code></td><td align="left" valign="center"><p> -Name of the Apache environment (prefix) that contains SSL client chain certificates. -<br> -The default value is "SSL_CLIENT_CERT_CHAIN_". -</p></td></tr><tr><td align="left" valign="center"><code>JkSESSIONIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that contains SSL session. -<br> -The default value is "SSL_SESSION_ID". -</p></td></tr><tr><td align="left" valign="center"><code>JkKEYSIZEIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that contains SSL key size in use. -<br> -The default value is "SSL_CIPHER_USEKEYSIZE". -</p></td></tr><tr><td align="left" valign="center"><code>JkLocalNameIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded local name. -Use this only if you need to adjust the data (see the -<a href="../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_LOCAL_NAME". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkLocalPortIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded local port. -Use this only if you need to adjust the data (see the -<a href="../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_LOCAL_PORT". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkRemoteHostIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded remote (client) host name. -Use this only if you need to adjust the data (see the -<a href="../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_REMOTE_HOST". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkRemoteAddrIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded remote (client) IP address. -Use this only if you need to adjust the data (see the -<a href="../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_REMOTE_ADDR". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkRemotePortIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded remote (client) IP address. -Use this only if you need to adjust the data (see the -<a href="../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_REMOTE_PORT". -<br> -This directive has been added in version 1.2.32 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkRemoteUserIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded user name. -Use this only if you need to adjust the data (see the -<a href="../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_REMOTE_USER". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkAuthTypeIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded authentication type. -Use this only if you need to adjust the data (see the -<a href="../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_AUTH_TYPE". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkOptions</code></td><td align="left" valign="center"><p> -Set one of more options to configure the mod_jk module. See below for -details about this directive. -<br> -This directive can be used multiple times per virtual server. -<br> -The default value is "ForwardURIProxy" since version 1.2.24. -It was "ForwardURICompatUnparsed" in version 1.2.23 and -"ForwardURICompat" until version 1.2.22. -</p></td></tr><tr><td align="left" valign="center"><code>JkEnvVar</code></td><td align="left" valign="center"><p> -Adds a name and an optional default value of environment variable -that should be sent to servlet-engine as a request attribute. -If the default value is not given explicitly, the variable -will only be send, if it is set during runtime. -<br> -The default is empty, so no additional variables will be sent. -<br> -This directive can be used multiple times per virtual server. -The settings will be merged between the global server and any -virtual server. -<br> -You can retrieve the variables on Tomcat as request attributes -via request.getAttribute(attributeName). Note that the variables -send via JkEnvVar will not be listed in request.getAttributeNames(). -<br> -Empty default values are supported since version 1.2.20. -Not sending variables with empty defaults and empty runtime value -has been introduced in version 1.2.21. -</p></td></tr><tr><td align="left" valign="center"><code>JkStripSession</code></td><td align="left" valign="center"><p> -If this directive is set to On in some virtual server, -the session IDs <b class="code">;jsessionid=...</b> will be -removed for non matched URLs. -<br> -This directive is only allowed inside VirtualHost. -<br> -The default is Off. -<br> -This directive has been introduced in version 1.2.21. -<br>With version 1.2.27 and later this directive can have optional -session ID identifier. If not specified it defaults to -<b class="code">;jsessionid</b>. -</p> -</td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Configuration Directives Types"><strong>Configuration Directives Types</strong></a></font></td></tr><tr><td><blockquote> -<p> -We'll discuss here the mod_jk directive types. -</p> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Define workers"><strong>Define workers</strong></a></font></td></tr><tr><td><blockquote> -<p> -<b>JkWorkersFile</b> specify the location where mod_jk will find the workers definitions. -Take a look at <a href="workers.html">Workers documentation</a> for detailed description. - -<div class="example"><pre> - JkWorkersFile /etc/httpd/conf/workers.properties -</pre></div> - -<br> -<br> -</p> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote> -<p> -<b>JkLogFile</b> specify the location where mod_jk is going to place its log file. -</p> - -<div class="example"><pre> - JkLogFile /var/log/httpd/mod_jk.log -</pre></div> - -<p> -Since JK 1.2.3 for Apache 2.x and JK 1.2.16 for Apache 1.3 this can also -be used for piped logging: -</p> - -<div class="example"><pre> - JkLogFile "|/usr/bin/rotatelogs /var/log/httpd/mod_jk.log 86400" -</pre></div> - -<p> -<b>JkLogLevel</b> -set the log level between : -</p> - -<ul> -<li> -<b>info</b> log will contain standard mod_jk activity (default). -</li> -<li> -<b>warn</b> log will contain non fatal error reports. -</li> -<li> -<b>error</b> log will contain also error reports. -</li> -<li> -<b>debug</b> log will contain all information on mod_jk activity -</li> -<li> -<b>trace</b> log will contain all tracing information on mod_jk activity -</li> -</ul> - -<div class="example"><pre> - JkLogLevel info -</pre></div> - -<p> -<b class="code">info</b> should be your default selection for normal operations. -<br> -<br> -</p> - -<p> -<b>JkLogStampFormat</b> will configure the date/time format found on mod_jk log file. -Using the strftime() format string it's set by<br> -default to <b>"[%a %b %d %H:%M:%S %Y]"</b> -</p> - -<div class="example"><pre> - JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " -</pre></div> - -<p> -<br> -<br> -</p> - -<p> -<b>JkRequestLogFormat</b> will configure the format of mod_jk individual request logging. -Request logging is configured and enabled on a per virtual host basis. -To enable request logging for a virtual host just add a JkRequestLogFormat config. -The syntax of the format string is similar to the Apache LogFormat command, -here is a list of the available request log format options: -</p> - -<p> -<table border="1" cellpadding="5"><tr><th width="20%" bgcolor="#023264"><font color="#ffffff">Options</font></th><th width="80%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>%b</code></td><td align="left" valign="center">Bytes sent, excluding HTTP headers (CLF format)</td></tr><tr><td align="left" valign="center"><code>%B</code></td><td align="left" valign="center">Bytes sent, excluding HTTP headers</td></tr><tr><td align="left" valign="center"><code>%H</code></td><td align="left" valign="center">The request protocol</td></tr><tr><td align="left" valign="center"><code>%m</code></td><td align="left" valign="center">The request method</td></tr><tr><td align="left" valign="center"><code>%p</code></td><td align="left" valign="center">The canonical Port of the server serving the request</td></tr><tr><td align="left" valign="center"><code>%q</code></td><td align="left" valign="center">The query string (prepended with a ? if a query string exists, otherwise an empty string)</td></tr><tr><td align="left" valign="center"><code>%r</code></td><td align="left" valign="center">First line of request</td></tr><tr><td align="left" valign="center"><code>%s</code></td><td align="left" valign="center">Request HTTP status code</td></tr><tr><td align="left" valign="center"><code>%T</code></td><td align="left" valign="center">Request duration, elapsed time to handle request in seconds '.' micro seconds</td></tr><tr><td align="left" valign="center"><code>%U</code></td><td align="left" valign="center">The URL path requested, not including any query string.</td></tr><tr><td align="left" valign="center"><code>%v</code></td><td align="left" valign="center">The canonical ServerName of the server serving the request</td></tr><tr><td align="left" valign="center"><code>%V</code></td><td align="left" valign="center">The server name according to the UseCanonicalName setting</td></tr><tr><td align="left" valign="center"><code>%w</code></td><td align="left" valign="center">Tomcat worker name</td></tr><tr><td align="left" valign="center"><code>%R</code></td><td align="left" valign="center">Real worker name</td></tr></table> - -<div class="example"><pre> - JkRequestLogFormat "%w %V %T" -</pre></div> - -<br> -<br> -</p> - -<p> -You can also log mod_jk information using the Apache standard module <b>mod_log_config</b>. -The module sets several notes in the Apache httpd notes table. -Most of them are are only useful in combination with a load balancer worker. -</p> - -<p> -<table border="1" cellpadding="5"><tr><th width="20%" bgcolor="#023264"><font color="#ffffff">Note</font></th><th width="80%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>JK_WORKER_NAME</code></td><td align="left" valign="center">Name of the worker selected by the URI mapping</td></tr><tr><td align="left" valign="center"><code>JK_WORKER_TYPE</code></td><td align="left" valign="center">Type of the worker selected by the URI mapping</td></tr><tr><td align="left" valign="center"><code>JK_WORKER_ROUTE</code></td><td align="left" valign="center">Actual worker name selected by the URI mapping (usually a member of the load balancer).<br> - Before version 1.2.26 only available if JkRequestLogFormat is set.</td></tr><tr><td align="left" valign="center"><code>JK_REQUEST_DURATION</code></td><td align="left" valign="center">Request duration in seconds and microseconds.<br> - Before version 1.2.26 only available if JkRequestLogFormat is set.</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_NAME</code></td><td align="left" valign="center">Load-Balancer: Name of the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_TYPE</code></td><td align="left" valign="center">Load-Balancer: Type of the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_ACCESSED</code></td><td align="left" valign="center">Load-Balancer: Access count for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_READ</code></td><td align="left" valign="center">Load-Balancer: Bytes read for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_TRANSFERRED</code></td><td align="left" valign="center">Load-Balancer: Bytes transferred for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_ERRORS</code></td><td align="left" valign="center">Load-Balancer: Error count for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_BUSY</code></td><td align="left" valign="center">Load-Balancer: Busy count for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_ACTIVATION</code></td><td align="left" valign="center">Load-Balancer: Activation state for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_STATE</code></td><td align="left" valign="center">Load-Balancer: Error state for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_NAME</code></td><td align="left" valign="center">Load-Balancer: Name of the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_TYPE</code></td><td align="left" valign="center">Load-Balancer: Type of the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_ACCESSED</code></td><td align="left" valign="center">Load-Balancer: Access count for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_READ</code></td><td align="left" valign="center">Load-Balancer: Bytes read for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_TRANSFERRED</code></td><td align="left" valign="center">Load-Balancer: Bytes transferred for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_ERRORS</code></td><td align="left" valign="center">Load-Balancer: Error count for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_BUSY</code></td><td align="left" valign="center">Load-Balancer: Busy count for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_ACTIVATION</code></td><td align="left" valign="center">Load-Balancer: Activation state for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_STATE</code></td><td align="left" valign="center">Load-Balancer: Error state for the last worker tried</td></tr></table> - -<div class="example"><pre> - LogFormat "%h %l %u %t \"%r\" %>s %b %{JK_WORKER_NAME}n %{JK_LB_FIRST_NAME}n \ - %{JK_LB_FIRST_BUSY}n %{JK_LB_LAST_NAME}n %{JK_LB_LAST_BUSY}n" mod_jk_log - CustomLog logs/access_log mod_jk_log -</pre></div> - -<br> -<br> -</p> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Forwarding"><strong>Forwarding</strong></a></font></td></tr><tr><td><blockquote> -<p> -The directive JkOptions allow you to set many forwarding options which will enable (+) -or disable (-) following option. Without any leading signs, options will be enabled. -<br> -<br> -</p> - -<p> -The four following options <b>+ForwardURIxxx</b> are mutually exclusive. -Exactly one of them is required, a negative sign prefix is not allowed with them. -The default value is "ForwardURIProxy" since version 1.2.24. -It was "ForwardURICompatUnparsed" in version 1.2.23 and -"ForwardURICompat" until version 1.2.22. -You can turn the default off by switching on one of the other two options. -You should leave this at it's default value, unless you have a very good -reason to change it. -<br> -<br> -</p> - -<p> -All options are inherited from the global server to virtual hosts. -Options that support enabling (plus options) and disabling (minus options), -are inherited in the following way: -<br> -<br> -options(vhost) = plus_options(global) - minus_options(global) + plus_options(vhost) - minus_options(vhost) -<br> -<br> -</p> - -<p> -Using JkOptions <b>ForwardURIProxy</b>, the forwarded URI -will be partially reencoded after processing inside Apache httpd and -before forwarding to Tomcat. This will be compatible with local -URL manipulation by mod_rewrite and with URL encoded session ids. - -<div class="example"><pre> - JkOptions +ForwardURIProxy -</pre></div> - -<br> -<br> -</p> - -<p> -Using JkOptions <b>ForwardURICompatUnparsed</b>, the forwarded URI -will be unparsed. It's spec compliant and secure. -It will always forward the original request URI, so rewriting -URIs with mod_rewrite and then forwarding the rewritten URI -will not work. - -<div class="example"><pre> - JkOptions +ForwardURICompatUnparsed -</pre></div> - -<br> -<br> -</p> - -<p> -Using JkOptions <b>ForwardURICompat</b>, the forwarded URI will -be decoded by Apache httpd. Encoded characters will be decoded and -explicit path components like ".." will already be resolved. -This is less spec compliant and is <b>not safe</b> if you are using -prefix JkMount. This option will allow to rewrite URIs with -mod_rewrite before forwarding. - -<div class="example"><pre> - JkOptions +ForwardURICompat -</pre></div> - -<br> -<br> -</p> - -<p> -Using JkOptions <b>ForwardURIEscaped</b>, the forwarded URI will -be the encoded form of the URI used by ForwardURICompat. -Explicit path components like ".." will already be resolved. -This will not work in combination with URL encoded session IDs, -but it will allow to rewrite URIs with mod_rewrite before forwarding. - -<div class="example"><pre> - JkOptions +ForwardURIEscaped -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>RejectUnsafeURI</b> will block all -URLs, which contain percent signs '%' or backslashes '\' -after decoding. -<br> -<br> -</p> -<p> -Most web apps do not use such URLs. Using the option RejectUnsafeURI, you -can block several well known URL encoding attacks. By default, this option -is not set. -</p> -<p> -You can also realise such a check with mod_rewrite, which is more powerful -but also slightly more complicated. - -<div class="example"><pre> - JkOptions +RejectUnsafeURI -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>ForwardDirectories</b> is used in conjunction with <b>DirectoryIndex</b> -directive of Apache web server. As such mod_dir should be available to Apache, -statically or dynamically (DSO) -<br> -<br> -</p> - -<p> -When DirectoryIndex is configured, Apache will create sub-requests for -each of the local-url's specified in the directive, to determine if there is a -local file that matches (this is done by stat-ing the file). -</p> - -<p> -If ForwardDirectories is set to false (default) and Apache doesn't find any -files that match, Apache will serve the content of the directory (if directive -Options specifies Indexes for that directory) or a <b class="code">403 Forbidden</b> response (if -directive Options doesn't specify Indexes for that directory). -</p> - -<p> -If ForwardDirectories is set to true and Apache doesn't find any files that -match, the request will be forwarded to Tomcat for resolution. This is used in -cases when Apache cannot see the index files on the file system for various -reasons: Tomcat is running on a different machine, the JSP file has been -precompiled etc. -</p> - -<p>Note that locally visible files will take precedence over the -ones visible only to Tomcat (i.e. if Apache can see the file, that's the one -that's going to get served). This is important if there is more then one type of -file that Tomcat normally serves - for instance Velocity pages and JSP pages. - -<div class="example"><pre> - JkOptions +ForwardDirectories -</pre></div> -<br> -<br> -</p> - -<p> -JkOptions <b>ForwardLocalAddress</b>, you ask mod_jk to send the local address, -of the Apache web server instead remote client address. This can be used by -Tomcat remote address valve for allowing connections only from registered Apache -web servers. - -<div class="example"><pre> - JkOptions +ForwardLocalAddress -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>FlushPackets</b>, you ask mod_jk to flush Apache's connection -buffer after each AJP packet chunk received from Tomcat. This option can have -a strong performance penalty for Apache and Tomcat as writes are performed -more often than would normally be required (ie: at the end of each -response). - -<div class="example"><pre> - JkOptions +FlushPackets -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>FlushHeader</b>, you ask mod_jk to flush Apache's connection -buffer after the response headers have been received from Tomcat. - -<div class="example"><pre> - JkOptions +FlushHeader -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>DisableReuse</b>, you ask mod_jk to close connections immediately -after their use. Normally mod_jk uses persistent connections and pools idle -connections to reuse them, when new requests have to be sent to Tomcat. -</p> - -<p> -Using this option will have a strong performance penalty for Apache and Tomcat. -Use this only as a last resort in case of unfixable network problems. -If a firewall between Apache and Tomcat silently kills idle connections, -try to use the worker attribute socket_keepalive in combination with an appropriate -TCP keepalive value in your OS. - -<div class="example"><pre> - JkOptions +DisableReuse -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>ForwardKeySize</b>, you ask mod_jk, when using ajp13, to forward also the SSL Key Size as -required by Servlet API 2.3. -This flag shouldn't be set when servlet engine is Tomcat 3.2.x (on by default). - -<div class="example"><pre> - JkOptions +ForwardKeySize -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>ForwardSSLCertChain</b>, you ask mod_jk, when using ajp13, -to forward SSL certificate chain (off by default). -Mod_jk only passes the <b class="code">SSL_CLIENT_CERT</b> to the AJP connector. This is not a -problem with self-signed certificates or certificates directly signed by the -root CA certificate. However, there's a large number of certificates signed by -an intermediate CA certificate, where this is a significant problem: A servlet -will not have the possibility to validate the client certificate on its own. The -bug would be fixed by passing on the <b class="code">SSL_CLIENT_CERT_CHAIN</b> to Tomcat via the AJP connector. -<br> -This directive exists only since version 1.2.22. -<div class="example"><pre> - JkOptions +ForwardSSLCertChain -</pre></div> - -<br> -<br> -</p> - -<p> -The directive <b>JkEnvVar</b> allows you to forward environment variables -from Apache server to Tomcat engine. -You can add a default value as a second parameter to the directive. -If the default value is not given explicitly, the variable -will only be send, if it is set during runtime. -<br> -The variables can be retrieved on the Tomcat side as request attributes -via request.getAttribute(attributeName). -Note that the variables send via JkEnvVar will not be listed -in request.getAttributeNames(). -<br> -<br> -The variables are inherited from the global server to virtual hosts. - -<div class="example"><pre> - JkEnvVar SSL_CLIENT_V_START undefined -</pre></div> -<br> -<br> -</p> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Assigning URLs to Tomcat"><strong>Assigning URLs to Tomcat</strong></a></font></td></tr><tr><td><blockquote> -<p> -If you have created a custom or local version of mod_jk.conf-local as noted above, -you can change settings such as the workers or URL prefix. -</p> -<p> -<b>JkMount</b> directive assign specific URLs to Tomcat. -In general the structure of a JkMount directive is: -</p> - -<div class="example"><pre> - JkMount [URL prefix] [Worker name] -</pre></div> - -<div class="example"><pre> - # send all requests ending in .jsp to worker1 - JkMount /*.jsp worker1 - # send all requests ending /servlet to worker1 - JkMount /*/servlet/ worker1 - # send all requests jsp requests to files located in /otherworker will go worker2 - JkMount /otherworker/*.jsp worker2 -</pre></div> - -<p> -You can use the JkMount directive at the top level or inside <VirtualHost> -sections of your httpd.conf file. -</p> -<p><b>JkUnMount</b> directive acts as an opposite to JkMount and blocks access -to a particular URL. The purpose is to be able to filter out the particular content -types from mounted context. The following example mounts /servlet/* -context, but all .gif files that belongs to that context are not served. -</p> -<div class="example"><pre> - # send all requests ending with /servlet to worker1 - JkMount /servlet/* worker1 - # do not send requests ending with .gif to worker1 - JkUnMount /servlet/*.gif worker1 -</pre></div> -<p> -JkUnMount takes precedence over JkMount directives, meaning that the JK -will first try to mount and then checks, if there is an exclusion defined by a -JkUnMount. A JkUnMount overrides a JkMount only, if the worker names in the -JkMount and in the JkUnMount are the same. -</p> -<p> -The following example will block all .gif files although there is a JkMount for them: -</p> -<div class="example"><pre> - # do not send requests ending with .gif to worker1 - JkUnMount /*.gif worker1 - # The .gif files will not be mounted cause JkUnMount takes - # precedence over JkMount directive - JkMount /servlet/*.gif worker1 -</pre></div> -<p> -Starting with version 1.2.26 of JK you can apply a JkUnMount to any worker, -by using the star character '*' as the worker name in the JkUnMount. -More complex patterns in JkUnMount worker names are not allowed. -</p> -<div class="example"><pre> - # Mapping the webapps myapp1 and myapp2: - /myapp1/*=worker1 - /myapp2/*=worker2 - # Exclude the all subdirectories static for all workers: - !/*/static/*=* - # Exclude some suffixes for all workers: - !*.html=* -</pre></div> -<p> -<b>JkAutoAlias</b> directive automatically <b>Alias</b> webapp context directories into -the Apache document space. It enables Apache to serve a static context while Tomcat -serving dynamic context. This directive is used for convenience so that you don't -have to put an apache Alias directive for each application directory inside Tomcat's -webapp directory. For security reasons is is strongly recommended that JkMount -is used to pass all requests to Tomcat by default and JkUnMount is used to -explicitly exclude static content to be served by httpd. It should also be noted -that content served by httpd will bypass any security constraints defined in the -application's web.xml. -</p> -<div class="example"><pre> - # enter the full path to the tomcat webapps directory - JkAutoAlias /opt/tomtact/webapps -</pre></div> -<p>The following example shows how to serve a dynamic context by -Tomcat and static using Apache. The webapps directory has to -be accessible by apache.</p> - -<div class="example"><pre> - # enter the full path to the tomcat webapps directory - JkAutoAlias /opt/tomtact/webapps - - # Mount 'servlets-examples' directory. It's physical location - # is assumed to be in the /opt/tomtact/webapps/servlets-examples - # ajp13w is a worker defined in the workers.properties - JkMount /servlets-examples/* ajp13w - - # Unmount desired static content from servlets-examples webapp. - # This content will be served by the httpd directly. - JkUnMount /servlets-examples/*.gif ajp13w - JkUnMount /servlets-examples/*.jpg ajp13w -</pre></div> -<p>Note that you can have a single JkAutoAlias directive per virtual -host inside your httpd.conf -</p> -<p> -<b>JkWorkerProperty</b> is a new directive available from JK 1.2.7 -version. It is a convenient method for setting directives that are -usually set inside <b>workers.propeties</b> file. The parameter for -that directive is raw line from workers.properties file. -</p> -<div class="example"><pre> - # Just like workers.properties but exact line is prefixed - # with JkWorkerProperty - - # Minimal jk configuration - JkWorkerProperty worker.list=ajp13w - JkWorkerProperty worker.ajp13w.type=ajp13 - JkWorkerProperty worker.ajp13w.host=localhost - JkWorkerProperty worker.ajp13w.port=8009 -</pre></div> -<p> -<b>JkMountFile</b> is a new directive available from JK 1.2.9 -version. It is used for dynamic updates of mount points at runtime. -When the mount file is changed, JK will reload it's content. -</p> -<div class="example"><pre> - # Load mount points - - JkMountFile conf/uriworkermap.properties -</pre></div> -<p>If the mount point uri starts with an exclamation mark '!' -it defines an exclusion in the same way JkUnMount does. -If the mount point uri starts with minus sign '-' -the mount point will only be disabled. A disabled mount can be reenabled -by deleting the minus sign and waiting for the JkMountFile to reload. -An exclusion can be disabled by prefixing it with a minus sign. -</p> -<div class="example"><pre> - # Sample uriworkermap.properties file - - /servlets-examples/*=ajp13w - # Do not map .jpeg files - !/servlets-examples/*.jpeg=ajp13w - # Make jsp examples initially disabled - -/jsp-examples/*=ajp13w -</pre></div> -<p>At run time you can change the content of this file. For example -removing minus signs will enable the previously disabled uri mappings. -You can add any number of new entries at runtime that reflects the newly deployed -applications. Apache will reload the file and update the mount -points within 60 second interval. -</p> -<p> -There is no way to delete entries by dynamic reloading, but you can disable or -exclude mappings. -<br> -<br> -</p> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Using SetHandler and Environment Variables"><strong>Using SetHandler and Environment Variables</strong></a></font></td></tr><tr><td><blockquote> -<p> -Alternatively to the mod_jk specific directives, you can also use -SetHandler and environment variables to control, which requests -are being forwarded via which worker. This gives you more flexibility, -but the results might be more difficult to understand. If you mix both -ways of defining the forwards, in general to mod_jk directives will win. -</p> -<p> -<b>SetHandler jakarta-servlet</b> forces requests to be handled by mod_jk. -If you neither specify any workers via JkMount and the related directives, -not via the environment variable described below, -the first worker in the list of all worker will be chosen. You can use SetHandler -for example in Location blocks or with Apache 2.2 also in RewriteRule. -</p> -<p> -In order to control the worker using <b>SetEnvIf</b> or <b>RewriteRule</b> -for more complex rules, you can set the environment variable <b>JK_WORKER_NAME</b> -to the name of your chosen target worker. This enables you to decide on -the chosen worker in a more flexible way, including dependencies on cookie values. -This feature has been added in version 1.2.19 of mod_jk. -</p> -<p> -In order to use another variable than <b>JK_WORKER_NAME</b>, you can set the name -of this variable via the <b>JkWorkerIndicator</b> directive. -</p> -<p> -You can also define exclusions from mod_jk forwards by setting the environment -variable <b>no-jk</b>. -</p> -<div class="example"><pre> - # Automatically map all encoded urls - <Location *;jsessionid=> - SetHandler jakarta-servlet - SetEnv JK_WORKER_NAME my_worker - </Location> - - # Map all subdirs to workers via naming rule - # and exclude static content. - <Location /apps/> - SetHandler jakarta-servlet - SetEnvIf REQUEST_URI ^/apps/([^/]*)/ JK_WORKER_NAME=$1 - SetEnvIf REQUEST_URI ^/apps/([^/]*)/static no-jk - </Location> -</pre></div> -<p> -Finally, starting with version 1.2.27 you can use the environment variable -<b>JK_REPLY_TIMEOUT</b> to dynamically set a reply timeout. -</p> -</blockquote></td></tr></table> - </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2011, Apache Software Foundation - </em></font></div></td></tr></table></body></html>
\ No newline at end of file diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/iis.html b/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/iis.html deleted file mode 100644 index e767d281..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/iis.html +++ /dev/null @@ -1,332 +0,0 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connector - Reference Guide - Configuring IIS</title><meta name="author" value="Mladen Turk"><meta name="email" value="mturk@apache.org"><link href="../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="true"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Reference Guide</strong></p><ul><li><a href="../reference/workers.html">workers.properties</a></li><li><a href="../reference/uriworkermap.html">uriworkermap.properties</a></li><li><a href="../reference/status.html">Status Worker</a></li><li><a href="../reference/apache.html">Apache HTTP Server</a></li><li><a href="../reference/iis.html">IIS</a></li></ul><p><strong>Generic HowTo</strong></p><ul><li><a href="../generic_howto/quick.html">For the impatient</a></li><li><a href="../generic_howto/workers.html">All about workers</a></li><li><a href="../generic_howto/timeouts.html">Timeouts</a></li><li><a href="../generic_howto/loadbalancers.html">Load Balancing</a></li><li><a href="../generic_howto/proxy.html">Reverse Proxy</a></li></ul><p><strong>Webserver HowTo</strong></p><ul><li><a href="../webserver_howto/apache.html">Apache HTTP Server</a></li><li><a href="../webserver_howto/iis.html">IIS</a></li><li><a href="../webserver_howto/nes.html">Netscape/SunOne/Sun</a></li></ul><p><strong>AJP Protocol Reference</strong></p><ul><li><a href="../ajp/ajpv13a.html">AJPv13</a></li><li><a href="../ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul><p><strong>Miscellaneous Documentation</strong></p><ul><li><a href="../miscellaneous/faq.html">Frequently asked questions</a></li><li><a href="../miscellaneous/changelog.html">Changelog</a></li><li><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Tomcat+Connectors&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Current Tomcat Connectors bugs</a></li><li><a href="../miscellaneous/doccontrib.html">Contribute documentation</a></li><li><a href="../miscellaneous/jkstatustasks.html">JK Status Ant Tasks</a></li><li><a href="../miscellaneous/reporttools.html">Reporting Tools</a></li><li><a href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html">Old JK/JK2 documentation</a></li></ul><p><strong>News</strong></p><ul><li><a href="../news/20110701.html">2011</a></li><li><a href="../news/20100101.html">2010</a></li><li><a href="../news/20090301.html">2009</a></li><li><a href="../news/20081001.html">2008</a></li><li><a href="../news/20070301.html">2007</a></li><li><a href="../news/20060101.html">2006</a></li><li><a href="../news/20050101.html">2005</a></li><li><a href="../news/20041100.html">2004</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left"><table border="0" width="100%" cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connector - Reference Guide</h1><h2>Configuring IIS</h2></td><td align="right" valign="top" nowrap="true"><small><a href="printer/iis.html"><img src="../images/printer.gif" border="0" alt="Printer Friendly Version"><br>print-friendly<br>version - </a></small></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Requirements"><strong>Requirements</strong></a></font></td></tr><tr><td><blockquote> -<p> -The Tomcat redirector requires three entities: - -<ul> -<li> -<b>isapi_redirect.dll</b> - The IIS server plugin, either obtain a pre-built DLL or build it yourself (see the build section). -</li> -<li> -<b>workers.properties</b> - A file that describes the host(s) and port(s) used by the workers (Tomcat processes). -A sample workers.properties can be found under the conf directory. -</li> -<li> -<b>uriworkermap.properties</b> - A file that maps URL-Path patterns to workers. -A sample uriworkermap.properties can be found under the conf directory as well. -</li> -</ul> -</p> - -<p> -The installation includes the following parts: - -<ul> -<li> -Configuring the ISAPI redirector with a default /examples context and checking that you can serve servlets with IIS. -</li> -<li> -Adding more contexts to the configuration. -</li> -</ul> -</p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Registry settings"><strong>Registry settings</strong></a></font></td></tr><tr><td><blockquote> -<p> -ISAPI redirector reads configuration from the registry, create a new registry key named : -</p> -<p> -<b>"HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0"</b> -</p> -<table border="1" cellpadding="5"><tr><th width="20%" bgcolor="#023264"><font color="#ffffff">Key Name</font></th><th width="80%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>extension_uri</code></strong></td><td align="left" valign="center"><p> -A string value pointing to the ISAPI extension <b>/jakarta/isapi_redirect.dll</b> -</p></td></tr><tr><td align="left" valign="center"><code>log_file</code></td><td align="left" valign="center"><p> -A value pointing to location where log file will be created. -(for example <b>c:\tomcat\logs\isapi.log</b>) -<br>If one of the log rotation settings (<b>log_rotationtime</b> or <b>log_filesize</b>) are specified then the actual log file name is based on this setting. -If the log file name includes any '%' characters, then it is treated as a format string for <b class="code">strftime(3)</b>, -e.g. <b>c:\tomcat\logs\isapi-%Y-%m-%d-%H_%M_%S.log</b>. Otherwise, the suffix <em>.nnnnnnnnnn</em> is automatically added and is the time in seconds. -A full list of format string substitutions can be found in the <a href="http://httpd.apache.org/docs/2.0/programs/rotatelogs.html">Apache rotatelogs documentation</a> -</p></td></tr><tr><td align="left" valign="center"><code>log_level</code></td><td align="left" valign="center"><p> -A string value for log level -(can be debug, info, warn, error or trace).</p> -<p>This directive was added in version 1.2.31</p> -</td></tr><tr><td align="left" valign="center"><code>log_rotationtime</code></td><td align="left" valign="center"><p> -The time between log file rotations in seconds. -Setting this to 0 (the default) disables log rotation based on time.</p> -<p>This directive was added in version 1.2.31</p> -</td></tr><tr><td align="left" valign="center"><code>log_filesize</code></td><td align="left" valign="center"><p> -The maximum log file size in megabytes, after which the log file will be rotated. Setting this to 0 (the default) disables log rotation based on file size. -<br>The value can have an optional <b>M</b> suffix, i.e. both <b>5</b> and <b>5M</b> will rotate the log file when it grows to 5MB. -<br>If <b>log_rotationtime</b> is specified, then this setting is ignored. -</p></td></tr><tr><td align="left" valign="center"><strong><code>worker_file</code></strong></td><td align="left" valign="center"><p> -A string value which is the full path to workers.properties file -(for example <b>c:\tomcat\conf\workers.properties</b>) -</p></td></tr><tr><td align="left" valign="center"><strong><code>worker_mount_file</code></strong></td><td align="left" valign="center"><p> -A string value which is the full path to uriworkermap.properties file -(for example <b>c:\tomcat\conf\uriworkermap.properties</b>) -</p></td></tr><tr><td align="left" valign="center"><code>rewrite_rule_file</code></td><td align="left" valign="center"><p> -A string value which is the full path to rewrite.properties file -(for example <b>c:\tomcat\conf\rewrite.properties</b>) -</p></td></tr><tr><td align="left" valign="center"><code>shm_size</code></td><td align="left" valign="center"><p> -A DWORD value size of the shared memory. Set this value to be -the number of all defined workers * 400. -(Set this value only if you have <b>more</b> then <b>64</b> workers) -</p> -<p>This directive has been added in version 1.2.20</p> -<p>Starting with version 1.2.27 the size of the shared memory is determined -automatically, even for large numbers of workers. This attribute is not -needed any longer.</p> -</td></tr><tr><td align="left" valign="center"><code>worker_mount_reload</code></td><td align="left" valign="center"><p> -A DWORD value specifying the time in seconds upon which the -<b>worker_mount_file</b> will be reloaded. -</p> -<p>This directive has been added in version 1.2.20</p> -</td></tr><tr><td align="left" valign="center"><code>strip_session</code></td><td align="left" valign="center"><p> -A string value representing a boolean. If it is set to true, -URL session suffixes of the form ";jsessionid=..." get stripped of URLs, -even if the are served locally by the web server. -</p> -<p> -A true value can be represented by the string "1" or any string starting -with the letters "T" or "t". A false value will be assumed for "0" -or any string starting with "F" or "f". The default value is false. -</p> -<p>This directive has been added in version 1.2.21</p> -</td></tr><tr><td align="left" valign="center"><code>auth_complete</code></td><td align="left" valign="center"><p> -A DWORD value representing "0" or "1". This is needed because -of minor incompatibilities with IIS 5.1. -</p> -<p> -By default its value is 1, which means we use the SF_NOTIFY_AUTH_COMPLETE -event. If you set this to 0, then we use SF_NOTIFY_PREPROC_HEADERS. -This might be needed for IIS 5.1 when handling requests using the -PUT HTTP method. -</p> -<p>This directive has been added in version 1.2.21</p> -</td></tr><tr><td align="left" valign="center"><code>uri_select</code></td><td align="left" valign="center"><p> -A string value which influences, how URIs are decoded and re-encoded -between IIS and Tomcat. You should leave this at it's default value, -unless you have a very good reason to change it. -</p> -<p> -If the value is "parsed", the forwarded URI -will be decoded and explicit path components like ".." will already -be resolved. This is less spec compliant and is <b>not safe</b> -if you are using prefix forwarding rules. -</p> -<p> -If the value is "unparsed", the forwarded URI -will be the original request URI. It's spec compliant and also -the safest option. Rewriting the URI and then forwarding the rewritten -URI will not work. -</p> -<p> -If the value is "escaped", the forwarded URI -will be the re-encoded form of the URI used by "parsed". -Explicit path components like ".." will already be resolved. -This will not work in combination with URL encoded session IDs. -</p> -<p> -If the value is "proxy", the forwarded URI -will be a partially re-encoded form of the URI used by "parsed". -Explicit path components like ".." will already be resolved. -and problematic are re-encoded. -</p> -<p>The default value since version 1.2.24 is "proxy". Before it was "parsed".</p> -</td></tr><tr><td align="left" valign="center"><code>reject_unsafe</code></td><td align="left" valign="center"><p> -A string value representing a boolean. If it is set to true, -URLs containing percent signs '%' or backslashes '\' -after decoding will be rejected. -</p> -<p> -Most web apps do not use such URLs. By enabling "reject_unsafe" you -can block several well known URL encoding attacks. -</p> -<p> -A true value can be represented by the string "1" or any string starting -with the letters "T" or "t". A false value will be assumed for "0" -or any string starting with "F" or "f". The default value is false. -</p> -<p>This directive has been added in version 1.2.24</p> -</td></tr><tr><td align="left" valign="center"><code>watchdog_interval</code></td><td align="left" valign="center"><p> -A DWORD value representing the watchdog thread interval in seconds. -The workers are maintained periodically by a background thread -running periodically every watchdog_interval seconds. Worker maintenance -checks for idle connections, corrects load status and is able -to detect backend health status. -</p> -<p> -The maintenance only happens, if since the last maintenance at -least <a href="workers.html"><b class="code">worker.maintain</b></a> -seconds have passed. So setting the watchdog_interval -much smaller than <b class="code">worker.maintain</b> is not useful. -</p> -<p> -The default value is 0 seconds, meaning the watchdog thread -will not be created, and the maintenance is done in combination -with normal requests instead. -</p> -<p>This directive has been added in version 1.2.27</p> -</td></tr><tr><td align="left" valign="center"><code>error_page</code></td><td align="left" valign="center"><p> -A string value representing the error page url redirection when -backend returns non-200 response. This directive can be used -to customise the error messages returned from backend server. -</p> -<p>The url must point to a valid server url and can contain -format string number <b class="code">(%d)</b> that can be used to -separate the pages by error number. The redirect url in that -case is formatted by replacing <b class="code">%d</b> from -<b class="code">error_page</b> to returned error number. -</p> -<p>This directive has been added in version 1.2.27</p> -</td></tr><tr><td align="left" valign="center"><code>enable_chunked_encoding</code></td><td align="left" valign="center"><p> -A string value representing a boolean. If it is set to true, -chunked encoding is supported by the server. -</p> -<p> -A true value can be represented by the string "1" or any string starting -with the letters "T" or "t". A false value will be assumed for "0" -or any string starting with "F" or "f". The default value is false. -</p> -<p><font color="#ff0000">This option is considered experimental and its support -must be compile time enabled. Use <b class="code">isapi_redirect.dll</b> -with chunked support enabled. -</font></p> -<p>This directive has been added in version 1.2.27</p> -</td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Using a properties file for configuration"><strong>Using a properties file for configuration</strong></a></font></td></tr><tr><td><blockquote> -<p> -The ISAPI redirector can read it's configuration from a properties file instead of the registry. -This has the advantage that you can use multiple ISAPI redirectors with independent configurations on the same server. -The redirector will check for the properties file during initialisation, and use it in preference to the registry if present. -</p> -<p> -Create a properties file in the same directory as the ISAPI redirector called <b>isapi_redirect.properties</b> i.e. with the same name as the ISAPI redirector DLL but with a <em>.properties</em> extension. A sample isapi_redirect.properties can be found under the conf directory. -</p> -<p> -The property names and values in the properties file are the same as for the registry settings described above. For example: -</p> -<p> -<div class="example"><pre> -# Configuration file for the Jakarta ISAPI Redirector - -# The path to the ISAPI Redirector Extension, relative to the website -# This must be in a virtual directory with execute privileges -extension_uri=/jakarta/isapi_redirect.dll - -# Full path to the log file for the ISAPI Redirector -log_file=c:\tomcat\logs\isapi_redirect.log - -# Log level (debug, info, warn, error or trace) -log_level=info - -# Full path to the workers.properties file -worker_file=c:\tomcat\conf\workers.properties - -# Full path to the uriworkermap.properties file -worker_mount_file=c:\tomcat\conf\uriworkermap.properties -</pre></div> -</p> -<p> - Notes: - <ul> - <li> - Back-slashes - '\' - are not escape characters. - </li> - <li> - Comment lines begin with '#'. - </li> - </ul> -</p> -<p>Starting with version 1.2.27 two environment variables are -dynamically added to the environment that can be used inside -<b class="code">.properties</b> files. - <ul> - <li>JKISAPI_PATH - Full path to the ISAPI Redirector. - </li> - <li>JKISAPI_NAME - Name of the ISAPI Redirector dll without extension - </li> - </ul> -</p> -<p><div class="example"><pre> -# Use the logs in the installation path of ISAPI Redirector -log_file=$(ISAPI_PATH)\$(ISAPI_NAME).log -</pre></div></p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Log file rotation"><strong>Log file rotation</strong></a></font></td></tr><tr><td><blockquote> -<p> -The ISAPI redirector with version 1.2.31 can perform log rotation, with configuration and behaviour similar to the -<a href="http://httpd.apache.org/docs/2.0/programs/rotatelogs.html">rotatelogs</a> program provided with Apache HTTP Server. -</p> -<p> -To configure log rotation, configure a <b>log_file</b>, and one of the <b>log_rotationtime</b> or <b>log_filesize</b> options. -If both are specified, the <b>log_rotationtime</b> will take precedence, and <b>log_filesize</b> will be ignored. -<br>For example, to configure daily rotation of the log file: -</p> -<div class="example"><pre> -# Configuration file for the Jakarta ISAPI Redirector -... - -# Full path to the log file for the ISAPI Redirector -log_file=c:\tomcat\logs\isapi_redirect.%Y-%m-%d.log - -# Log level (debug, info, warn, error or trace) -log_level=info - -# Rotate the log file every day -log_rotationtime=86400 - -... -</pre></div> -<p> -Or to configure rotation of the log file when it reaches 5MB in size: -</p> -<div class="example"><pre> -# Configuration file for the Jakarta ISAPI Redirector -... - -# Full path to the log file for the ISAPI Redirector -log_file=c:\tomcat\logs\isapi_redirect.%Y-%m-%d-%H.log - -# Log level (debug, info, warn, error or trace) -log_level=info - -# Rotate the log file at 5 MB -log_filesize=5M - -... -</pre></div> -<p> -The log will be rotated whenever the configured limit is reached, but only if the log file name would change. If you configure - a log file name with <b class="code">strftime(3)</b> format codes in it, then ensure it specifies the same granularity - as the rotation time configured, e.g. <b>%Y-%m-%d</b> if rotating daily (<b>log_rotationtime=86400</b>). -<br>See the <a href="http://httpd.apache.org/docs/2.0/programs/rotatelogs.html">rotatelogs</a> documentation for more examples. -</p> - -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Using a simple rewrite rules"><strong>Using a simple rewrite rules</strong></a></font></td></tr><tr><td><blockquote> -<p> -The ISAPI redirector with version 1.2.16 can do a simple URL rewriting. Although not -as powerful as Apache Httpd's mod_rewrite, it allows a simple exchange of request URIs -</p> -<p> -The rule is in the form original-url-prefix=forward-url-prefix. For example: -</p> -<div class="example"><pre> -# Simple rewrite rules, making /jsp-examples -# and /servlets-examples available under shorter URLs -/jsp/=/jsp-examples/ -/servlets/=/servlets-examples/ -</pre></div> -<p> -You can also use regular expressions, if you prefix the rule with a tilde <b class="code">~</b>: -</p> -<div class="example"><pre> -# Complex rewrite rule, adding "-examples" -# to the first path component of all requests -~/([^/]*)=/$1-examples -</pre></div> -<p> -Note that uriworkermap.properties must use the URLs before rewriting. -</p> -</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2011, Apache Software Foundation - </em></font></div></td></tr></table></body></html>
\ No newline at end of file diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/apache.html b/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/apache.html deleted file mode 100644 index 6524e441..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/apache.html +++ /dev/null @@ -1,1010 +0,0 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connector - Reference Guide - Configuring Apache</title><meta name="author" value="Mladen Turk"><meta name="email" value="mturk@apache.org"><link href="../../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left"><table border="0" width="100%" cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connector - Reference Guide</h1><h2>Configuring Apache</h2></td><td align="right" valign="top" nowrap="true"><img src="../../images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Configuration Directives"><strong>Configuration Directives</strong></a></font></td></tr><tr><td><blockquote> -<p> -Most of the directives are allowed once in the global part of the Apache httpd -configuration and once in every <VirtualHost> elements. Exceptions from this rule are -explicitly listed in the table below. -</p> -<p> -Most values are inherited from the main server to the virtual hosts. -Since version 1.2.20 they can be overwritten in the virtual hosts. -Exceptions from this rule are again explicitly listed in the table below. -See especially JkMountCopy. -</p> -<p><font color="#ff0000"> -Warning: If Apache httpd and Tomcat are configured to serve content from -the same filing system location then care must be taken to ensure that httpd is -not able to serve inappropriate content such as the contents of the WEB-INF -directory or JSP source code. -</font></p> -<p> -This could occur if the httpd DocumentRoot -overlaps with a Tomcat Host's appBase or the docBase of any Context. It could -also occur when using the httpd Alias directive with a Tomcat Host's appBase or -the docBase of any Context. -</p> -<p> -Here are the all directives supported by Apache: -</p> -<table border="1" cellpadding="5"><tr><th width="20%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="80%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>JkWorkersFile</code></td><td align="left" valign="center"><p> -The name of a worker file for the Tomcat servlet containers. -<br> -This directive is only allowed once. It must be put into -the global part of the configuration. -<br> -If you don't use the JkWorkerProperty directives, then you must -define your workers with a valid JkWorkersFile. There is no default -value. -</p></td></tr><tr><td align="left" valign="center"><code>JkWorkerProperty</code></td><td align="left" valign="center"><p> -Enables setting worker properties inside Apache configuration file. -The syntax is the same as in the JkWorkersFile (usually workers.properties). -Simply prefix each line with "JkWorkerProperty" to put it directly into -the Apache httpd config files. -<br> -This directive is allowed multiple times. -It must be put into the global part of the configuration. -<br> -If you don't use the JkWorkerProperty directives, then you must -define your workers with a valid JkWorkersFile. There is no default -value. -<br> -This directive is available in jk1.2.7 version and later. -</p></td></tr><tr><td align="left" valign="center"><code>JkShmFile</code></td><td align="left" valign="center"><p> -Shared memory file name. Used only on unix platforms. -The shm file is used by balancer and status workers. -<br> -This directive is only allowed once. It must be put into -the global part of the configuration. -<br> -The default value is logs/jk-runtime-status. -It is highly recommended that the shm file be placed on a local -drive and not an NFS share. -</p> -<p> -The shared memory contains configuration and runtime information for load balancer -workers and their members. It is need in order that all apache children -<ul> -<li>share the same status information for load balancing members (OK, ERROR, ...),</li> -<li>share the information about load taken by the individual workers,</li> -<li>share the information for the parts of the configuration, which are changeable -during runtime by status workers.</li> -</ul> -</p> -</td></tr><tr><td align="left" valign="center"><code>JkShmSize</code></td><td align="left" valign="center"><p> -Size of the shared memory file name. -<br> -This directive is only allowed once. It must be put into -the global part of the configuration. -<br> -The default value depends on the platform. It is usually less than 64KB. -</p></td></tr><tr><td align="left" valign="center"><code>JkMountFile</code></td><td align="left" valign="center"><p> -File containing multiple mappings from a context to a Tomcat worker. -It is usually called uriworkermap.properties. -<br> -For inheritance rules, see: JkMountCopy. -<br> -There is no default value. -</p></td></tr><tr><td align="left" valign="center"><code>JkMountFileReload</code></td><td align="left" valign="center"><p> -This directive configures the reload check interval in seconds. -The JkMountFile is checked periodically for changes. -A changed file gets reloaded automatically. If you set -this directive to "0", reload checking is turned off. -<br> -The default value is 60 seconds. -<br> -This directive has been added in version 1.2.20 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkMount</code></td><td align="left" valign="center"><p> -A mount point from a context to a Tomcat worker. -<br> -This directive is allowed multiple times. -It is allowed in the global configuration and in VirtualHost. -You can also use it inside Location with a different syntax. -Inside Location, one omits the first argument (path), -which gets inherited from the Location. -<br> -By default JkMount entries are not inherited from the global -server to other VirtualHosts or between VirtualHosts. -For the complete inheritance rules, see: JkMountCopy. -</p></td></tr><tr><td align="left" valign="center"><code>JkUnMount</code></td><td align="left" valign="center"><p> -An exclusion mount point from a context to a Tomcat worker. -All exclusion mounts are checked after mapping a request -to a tomcat worker. If the request maps also to an exclusion, -it will not be forwarded to tomcat, and instead be served locally. -<br> -This directive is allowed multiple times. -It is allowed in the global configuration and in VirtualHost. -You can also use it inside Location with a different syntax. -Inside Location, one omits the first argument (path), -which gets inherited from the Location. -For inheritance rules, see: JkMountCopy. -<br> -This directive is available in jk1.2.7 version and later. -</p></td></tr><tr><td align="left" valign="center"><code>JkAutoAlias</code></td><td align="left" valign="center"><p> -Automatically Alias webapp context directories into the Apache -document space. -<br> -Care should be taken to ensure that only static content is served via httpd as a -result of using this directive. Any static content served by httpd will bypass any -security constraints defined in the application's web.xml. -<br> -For inheritance rules, see: JkMountCopy. -<br> -There is no default value. -</p></td></tr><tr><td align="left" valign="center"><code>JkMountCopy</code></td><td align="left" valign="center"><p> -If this directive is set to "On" in some virtual server, -the mounts from the global server will be copied to this -virtual server, more precisely all mounts defined by JkMount -or JkUnMount. The Mounts defined by JkMountFile and JkAutoAlias -will only be inherited, if the VirtualHost does not define -it's own JkMountFile or JkAutoAlias. -<br> -If you want all vhost to inherit mounts from the main server, -you can set JkMountCopy to 'All' in the main server. -<br> -This directive is only allowed inside VirtualHost (with value "On") -and in the global server (with value "All"). -<br> -The default is Off, so no mounts will be inherited from the global -server to any VirtualHost. -<br> -Starting with version 1.2.26 you can also set it to "All" in the -global virtual server. This will switch the default to On. -</p></td></tr><tr><td align="left" valign="center"><code>JkWorkerIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that can be used to set worker names -in combination with SetHandler jakarta-servlet. -<br> -This directive is only allowed once per virtual server. -It is allowed in the global configuration and in VirtualHost. -<br> -The default value is JK_WORKER_NAME. -</p></td></tr><tr><td align="left" valign="center"><code>JkWatchdogInterval</code></td><td align="left" valign="center"><p> -This directive configures the watchdog thread interval in seconds. -The workers are maintained periodically by a background thread -running periodically every watchdog_interval seconds. Worker maintenance -checks for idle connections, corrects load status and is able -to detect backend health status. -<br> -The maintenance only happens, if since the last maintenance at -least <a href="workers.html"><b class="code">worker.maintain</b></a> -seconds have passed. So setting the JkWatchdogInterval -much smaller than <b class="code">worker.maintain</b> is not useful. -<br> -The default value is 0 seconds, meaning the watchdog thread -will not be created, and the maintenance is done in combination -with normal requests instead. -<br> -This directive is only allowed once. It must be put into -the global part of the configuration. -<br> -This directive has been added in version 1.2.27 of mod_jk. -It is available only for httpd 2.x and above using APR libraries -including thread support. -</p></td></tr><tr><td align="left" valign="center"><code>JkLogFile</code></td><td align="left" valign="center"><p> -Full or server relative path to the Tomcat Connector module log file. -It will also work with pipe, by using a value of the form "| ...". -<br> -The default value is logs/mod_jk.log. -<br> -Pipes are supported for Apache 1.3 only since version 1.2.16. -The default value exists only since version 1.2.20. -</p></td></tr><tr><td align="left" valign="center"><code>JkLogLevel</code></td><td align="left" valign="center"><p> -The Tomcat Connector module log level, can be debug, info, warn -error or trace. -<br> -The default value is info. -</p></td></tr><tr><td align="left" valign="center"><code>JkLogStampFormat</code></td><td align="left" valign="center"><p> -The Tomcat Connector module <b>date</b> log format, using an -extended strftime syntax. -This format will be used for the time stamps in the JkLogFile. -The maximum length of the format is 63 characters. -<br> -Starting with version 1.2.24 of mod_jk you can also use %Q -for adding milliseconds to the log and %q for microseconds. -These conversion specifiers are an extension to strftime. -They will only work on platforms with a gettimeofday() function. -You can use %Q and %q only once in the pattern and also not both -together in the same pattern. -<br> -The default value is "[%a %b %d %H:%M:%S %Y] " and beginning -with version 1.2.24 on platforms with a gettimeofday() -function it is "[%a %b %d %H:%M:%S.%Q %Y] ". -</p></td></tr><tr><td align="left" valign="center"><code>JkRequestLogFormat</code></td><td align="left" valign="center"><p> -Request log format string. See detailed description below. -<br> -There is no default value. Without defining a value, the request logging -is turned off. -</p></td></tr><tr><td align="left" valign="center"><code>JkExtractSSL</code></td><td align="left" valign="center"><p> -Turns on SSL processing and information gathering by mod_jk -<br> -The default value is On. -<br> -In order to make SSL data available for mod_jk in Apache, you need to -set <b class="code">SSLOptions +StdEnvVars</b>. For the certificate information you also need -to add <b class="code">SSLOptions +ExportCertData</b>. -</p> -<p> - Specifically, mod_jk will export the following environment variables from - Apache httpd to Tomcat under these request attributes as per the - Servlet Specification 3.0, section 3.8: -</p> -<table> - <tr><th>Env Var</th><th>Request Attribute Name</th><th>Type</th><th>Example</th></tr> - <tr> - <td>SSL_CIPHER<br>(or <b class="code">JkKEYSIZEIndicator</b>)</td> - <td>javax.servlet.request.cipher_suite</td> - <td>java.lang.String</td> - <td>DHE-RSA-AES256-SHA</td> - </tr> - <tr> - <td>SSL_CIPHER_USEKEYSIZE<br>(or <b class="code">JkKEYSIZEIndicator</b>)</td> - <td>javax.servlet.request.key_size</td> - <td>java.lang.Integer</td> - <td>256</td> - </tr> - <tr> - <td>SSL_SESSION_ID<br>(or <b class="code">JkSESSIONIndicator</b>)</td> - <td>javax.servlet.request.ssl_session</td> - <td>java.lang.String</td> - <td>905...32E (a hex string)</td> - </tr> - <tr> - <td>SSL_CLIENT_CERT_CHAIN_<i>n</i><br>(or <b class="code">JkCERTCHAINPrefix</b><i>n</i>)</td> - <td>javax.servlet.request.X509Certificate</td> - <td>java.security.X509Certificate[]</td> - <td>(A chain of certs in ascending order of trust, the first one being - ths client's certificate, the second being the signer of that - certificate, and so on)</td> - </tr> -</table> -<p> - For all other SSL-related variables, use <b class="code">JkEnvVar</b> for each - variable you want. Please note that, like <b class="code">JkEnvVar</b>, these - variables are available from the request <i><b>attributes</b></i>, not as - environment variables or as request headers. -</p> -</td></tr><tr><td align="left" valign="center"><code>JkHTTPSIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that contains SSL indication. -<br> -The default value is "HTTPS". -</p></td></tr><tr><td align="left" valign="center"><code>JkCERTSIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that contains SSL client certificates. -<br> -The default value is "SSL_CLIENT_CERT". -</p></td></tr><tr><td align="left" valign="center"><code>JkCIPHERIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that contains SSL client cipher. -<br> -The default value is "SSL_CIPHER". -</p></td></tr><tr><td align="left" valign="center"><code>JkCERTCHAINPrefix</code></td><td align="left" valign="center"><p> -Name of the Apache environment (prefix) that contains SSL client chain certificates. -<br> -The default value is "SSL_CLIENT_CERT_CHAIN_". -</p></td></tr><tr><td align="left" valign="center"><code>JkSESSIONIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that contains SSL session. -<br> -The default value is "SSL_SESSION_ID". -</p></td></tr><tr><td align="left" valign="center"><code>JkKEYSIZEIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable that contains SSL key size in use. -<br> -The default value is "SSL_CIPHER_USEKEYSIZE". -</p></td></tr><tr><td align="left" valign="center"><code>JkLocalNameIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded local name. -Use this only if you need to adjust the data (see the -<a href="../../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_LOCAL_NAME". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkLocalPortIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded local port. -Use this only if you need to adjust the data (see the -<a href="../../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_LOCAL_PORT". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkRemoteHostIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded remote (client) host name. -Use this only if you need to adjust the data (see the -<a href="../../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_REMOTE_HOST". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkRemoteAddrIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded remote (client) IP address. -Use this only if you need to adjust the data (see the -<a href="../../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_REMOTE_ADDR". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkRemotePortIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded remote (client) IP address. -Use this only if you need to adjust the data (see the -<a href="../../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_REMOTE_PORT". -<br> -This directive has been added in version 1.2.32 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkRemoteUserIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded user name. -Use this only if you need to adjust the data (see the -<a href="../../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_REMOTE_USER". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkAuthTypeIndicator</code></td><td align="left" valign="center"><p> -Name of the Apache environment variable which can be used to overwrite -the forwarded authentication type. -Use this only if you need to adjust the data (see the -<a href="../../generic_howto/proxy.html">proxy</a> documentation). -<br> -The default value is "JK_AUTH_TYPE". -<br> -This directive has been added in version 1.2.28 of mod_jk. -</p></td></tr><tr><td align="left" valign="center"><code>JkOptions</code></td><td align="left" valign="center"><p> -Set one of more options to configure the mod_jk module. See below for -details about this directive. -<br> -This directive can be used multiple times per virtual server. -<br> -The default value is "ForwardURIProxy" since version 1.2.24. -It was "ForwardURICompatUnparsed" in version 1.2.23 and -"ForwardURICompat" until version 1.2.22. -</p></td></tr><tr><td align="left" valign="center"><code>JkEnvVar</code></td><td align="left" valign="center"><p> -Adds a name and an optional default value of environment variable -that should be sent to servlet-engine as a request attribute. -If the default value is not given explicitly, the variable -will only be send, if it is set during runtime. -<br> -The default is empty, so no additional variables will be sent. -<br> -This directive can be used multiple times per virtual server. -The settings will be merged between the global server and any -virtual server. -<br> -You can retrieve the variables on Tomcat as request attributes -via request.getAttribute(attributeName). Note that the variables -send via JkEnvVar will not be listed in request.getAttributeNames(). -<br> -Empty default values are supported since version 1.2.20. -Not sending variables with empty defaults and empty runtime value -has been introduced in version 1.2.21. -</p></td></tr><tr><td align="left" valign="center"><code>JkStripSession</code></td><td align="left" valign="center"><p> -If this directive is set to On in some virtual server, -the session IDs <b class="code">;jsessionid=...</b> will be -removed for non matched URLs. -<br> -This directive is only allowed inside VirtualHost. -<br> -The default is Off. -<br> -This directive has been introduced in version 1.2.21. -<br>With version 1.2.27 and later this directive can have optional -session ID identifier. If not specified it defaults to -<b class="code">;jsessionid</b>. -</p> -</td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Configuration Directives Types"><strong>Configuration Directives Types</strong></a></font></td></tr><tr><td><blockquote> -<p> -We'll discuss here the mod_jk directive types. -</p> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Define workers"><strong>Define workers</strong></a></font></td></tr><tr><td><blockquote> -<p> -<b>JkWorkersFile</b> specify the location where mod_jk will find the workers definitions. -Take a look at <a href="workers.html">Workers documentation</a> for detailed description. - -<div class="example"><pre> - JkWorkersFile /etc/httpd/conf/workers.properties -</pre></div> - -<br> -<br> -</p> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote> -<p> -<b>JkLogFile</b> specify the location where mod_jk is going to place its log file. -</p> - -<div class="example"><pre> - JkLogFile /var/log/httpd/mod_jk.log -</pre></div> - -<p> -Since JK 1.2.3 for Apache 2.x and JK 1.2.16 for Apache 1.3 this can also -be used for piped logging: -</p> - -<div class="example"><pre> - JkLogFile "|/usr/bin/rotatelogs /var/log/httpd/mod_jk.log 86400" -</pre></div> - -<p> -<b>JkLogLevel</b> -set the log level between : -</p> - -<ul> -<li> -<b>info</b> log will contain standard mod_jk activity (default). -</li> -<li> -<b>warn</b> log will contain non fatal error reports. -</li> -<li> -<b>error</b> log will contain also error reports. -</li> -<li> -<b>debug</b> log will contain all information on mod_jk activity -</li> -<li> -<b>trace</b> log will contain all tracing information on mod_jk activity -</li> -</ul> - -<div class="example"><pre> - JkLogLevel info -</pre></div> - -<p> -<b class="code">info</b> should be your default selection for normal operations. -<br> -<br> -</p> - -<p> -<b>JkLogStampFormat</b> will configure the date/time format found on mod_jk log file. -Using the strftime() format string it's set by<br> -default to <b>"[%a %b %d %H:%M:%S %Y]"</b> -</p> - -<div class="example"><pre> - JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " -</pre></div> - -<p> -<br> -<br> -</p> - -<p> -<b>JkRequestLogFormat</b> will configure the format of mod_jk individual request logging. -Request logging is configured and enabled on a per virtual host basis. -To enable request logging for a virtual host just add a JkRequestLogFormat config. -The syntax of the format string is similar to the Apache LogFormat command, -here is a list of the available request log format options: -</p> - -<p> -<table border="1" cellpadding="5"><tr><th width="20%" bgcolor="#023264"><font color="#ffffff">Options</font></th><th width="80%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>%b</code></td><td align="left" valign="center">Bytes sent, excluding HTTP headers (CLF format)</td></tr><tr><td align="left" valign="center"><code>%B</code></td><td align="left" valign="center">Bytes sent, excluding HTTP headers</td></tr><tr><td align="left" valign="center"><code>%H</code></td><td align="left" valign="center">The request protocol</td></tr><tr><td align="left" valign="center"><code>%m</code></td><td align="left" valign="center">The request method</td></tr><tr><td align="left" valign="center"><code>%p</code></td><td align="left" valign="center">The canonical Port of the server serving the request</td></tr><tr><td align="left" valign="center"><code>%q</code></td><td align="left" valign="center">The query string (prepended with a ? if a query string exists, otherwise an empty string)</td></tr><tr><td align="left" valign="center"><code>%r</code></td><td align="left" valign="center">First line of request</td></tr><tr><td align="left" valign="center"><code>%s</code></td><td align="left" valign="center">Request HTTP status code</td></tr><tr><td align="left" valign="center"><code>%T</code></td><td align="left" valign="center">Request duration, elapsed time to handle request in seconds '.' micro seconds</td></tr><tr><td align="left" valign="center"><code>%U</code></td><td align="left" valign="center">The URL path requested, not including any query string.</td></tr><tr><td align="left" valign="center"><code>%v</code></td><td align="left" valign="center">The canonical ServerName of the server serving the request</td></tr><tr><td align="left" valign="center"><code>%V</code></td><td align="left" valign="center">The server name according to the UseCanonicalName setting</td></tr><tr><td align="left" valign="center"><code>%w</code></td><td align="left" valign="center">Tomcat worker name</td></tr><tr><td align="left" valign="center"><code>%R</code></td><td align="left" valign="center">Real worker name</td></tr></table> - -<div class="example"><pre> - JkRequestLogFormat "%w %V %T" -</pre></div> - -<br> -<br> -</p> - -<p> -You can also log mod_jk information using the Apache standard module <b>mod_log_config</b>. -The module sets several notes in the Apache httpd notes table. -Most of them are are only useful in combination with a load balancer worker. -</p> - -<p> -<table border="1" cellpadding="5"><tr><th width="20%" bgcolor="#023264"><font color="#ffffff">Note</font></th><th width="80%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>JK_WORKER_NAME</code></td><td align="left" valign="center">Name of the worker selected by the URI mapping</td></tr><tr><td align="left" valign="center"><code>JK_WORKER_TYPE</code></td><td align="left" valign="center">Type of the worker selected by the URI mapping</td></tr><tr><td align="left" valign="center"><code>JK_WORKER_ROUTE</code></td><td align="left" valign="center">Actual worker name selected by the URI mapping (usually a member of the load balancer).<br> - Before version 1.2.26 only available if JkRequestLogFormat is set.</td></tr><tr><td align="left" valign="center"><code>JK_REQUEST_DURATION</code></td><td align="left" valign="center">Request duration in seconds and microseconds.<br> - Before version 1.2.26 only available if JkRequestLogFormat is set.</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_NAME</code></td><td align="left" valign="center">Load-Balancer: Name of the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_TYPE</code></td><td align="left" valign="center">Load-Balancer: Type of the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_ACCESSED</code></td><td align="left" valign="center">Load-Balancer: Access count for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_READ</code></td><td align="left" valign="center">Load-Balancer: Bytes read for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_TRANSFERRED</code></td><td align="left" valign="center">Load-Balancer: Bytes transferred for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_ERRORS</code></td><td align="left" valign="center">Load-Balancer: Error count for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_BUSY</code></td><td align="left" valign="center">Load-Balancer: Busy count for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_ACTIVATION</code></td><td align="left" valign="center">Load-Balancer: Activation state for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_FIRST_STATE</code></td><td align="left" valign="center">Load-Balancer: Error state for the first worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_NAME</code></td><td align="left" valign="center">Load-Balancer: Name of the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_TYPE</code></td><td align="left" valign="center">Load-Balancer: Type of the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_ACCESSED</code></td><td align="left" valign="center">Load-Balancer: Access count for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_READ</code></td><td align="left" valign="center">Load-Balancer: Bytes read for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_TRANSFERRED</code></td><td align="left" valign="center">Load-Balancer: Bytes transferred for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_ERRORS</code></td><td align="left" valign="center">Load-Balancer: Error count for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_BUSY</code></td><td align="left" valign="center">Load-Balancer: Busy count for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_ACTIVATION</code></td><td align="left" valign="center">Load-Balancer: Activation state for the last worker tried</td></tr><tr><td align="left" valign="center"><code>JK_LB_LAST_STATE</code></td><td align="left" valign="center">Load-Balancer: Error state for the last worker tried</td></tr></table> - -<div class="example"><pre> - LogFormat "%h %l %u %t \"%r\" %>s %b %{JK_WORKER_NAME}n %{JK_LB_FIRST_NAME}n \ - %{JK_LB_FIRST_BUSY}n %{JK_LB_LAST_NAME}n %{JK_LB_LAST_BUSY}n" mod_jk_log - CustomLog logs/access_log mod_jk_log -</pre></div> - -<br> -<br> -</p> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Forwarding"><strong>Forwarding</strong></a></font></td></tr><tr><td><blockquote> -<p> -The directive JkOptions allow you to set many forwarding options which will enable (+) -or disable (-) following option. Without any leading signs, options will be enabled. -<br> -<br> -</p> - -<p> -The four following options <b>+ForwardURIxxx</b> are mutually exclusive. -Exactly one of them is required, a negative sign prefix is not allowed with them. -The default value is "ForwardURIProxy" since version 1.2.24. -It was "ForwardURICompatUnparsed" in version 1.2.23 and -"ForwardURICompat" until version 1.2.22. -You can turn the default off by switching on one of the other two options. -You should leave this at it's default value, unless you have a very good -reason to change it. -<br> -<br> -</p> - -<p> -All options are inherited from the global server to virtual hosts. -Options that support enabling (plus options) and disabling (minus options), -are inherited in the following way: -<br> -<br> -options(vhost) = plus_options(global) - minus_options(global) + plus_options(vhost) - minus_options(vhost) -<br> -<br> -</p> - -<p> -Using JkOptions <b>ForwardURIProxy</b>, the forwarded URI -will be partially reencoded after processing inside Apache httpd and -before forwarding to Tomcat. This will be compatible with local -URL manipulation by mod_rewrite and with URL encoded session ids. - -<div class="example"><pre> - JkOptions +ForwardURIProxy -</pre></div> - -<br> -<br> -</p> - -<p> -Using JkOptions <b>ForwardURICompatUnparsed</b>, the forwarded URI -will be unparsed. It's spec compliant and secure. -It will always forward the original request URI, so rewriting -URIs with mod_rewrite and then forwarding the rewritten URI -will not work. - -<div class="example"><pre> - JkOptions +ForwardURICompatUnparsed -</pre></div> - -<br> -<br> -</p> - -<p> -Using JkOptions <b>ForwardURICompat</b>, the forwarded URI will -be decoded by Apache httpd. Encoded characters will be decoded and -explicit path components like ".." will already be resolved. -This is less spec compliant and is <b>not safe</b> if you are using -prefix JkMount. This option will allow to rewrite URIs with -mod_rewrite before forwarding. - -<div class="example"><pre> - JkOptions +ForwardURICompat -</pre></div> - -<br> -<br> -</p> - -<p> -Using JkOptions <b>ForwardURIEscaped</b>, the forwarded URI will -be the encoded form of the URI used by ForwardURICompat. -Explicit path components like ".." will already be resolved. -This will not work in combination with URL encoded session IDs, -but it will allow to rewrite URIs with mod_rewrite before forwarding. - -<div class="example"><pre> - JkOptions +ForwardURIEscaped -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>RejectUnsafeURI</b> will block all -URLs, which contain percent signs '%' or backslashes '\' -after decoding. -<br> -<br> -</p> -<p> -Most web apps do not use such URLs. Using the option RejectUnsafeURI, you -can block several well known URL encoding attacks. By default, this option -is not set. -</p> -<p> -You can also realise such a check with mod_rewrite, which is more powerful -but also slightly more complicated. - -<div class="example"><pre> - JkOptions +RejectUnsafeURI -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>ForwardDirectories</b> is used in conjunction with <b>DirectoryIndex</b> -directive of Apache web server. As such mod_dir should be available to Apache, -statically or dynamically (DSO) -<br> -<br> -</p> - -<p> -When DirectoryIndex is configured, Apache will create sub-requests for -each of the local-url's specified in the directive, to determine if there is a -local file that matches (this is done by stat-ing the file). -</p> - -<p> -If ForwardDirectories is set to false (default) and Apache doesn't find any -files that match, Apache will serve the content of the directory (if directive -Options specifies Indexes for that directory) or a <b class="code">403 Forbidden</b> response (if -directive Options doesn't specify Indexes for that directory). -</p> - -<p> -If ForwardDirectories is set to true and Apache doesn't find any files that -match, the request will be forwarded to Tomcat for resolution. This is used in -cases when Apache cannot see the index files on the file system for various -reasons: Tomcat is running on a different machine, the JSP file has been -precompiled etc. -</p> - -<p>Note that locally visible files will take precedence over the -ones visible only to Tomcat (i.e. if Apache can see the file, that's the one -that's going to get served). This is important if there is more then one type of -file that Tomcat normally serves - for instance Velocity pages and JSP pages. - -<div class="example"><pre> - JkOptions +ForwardDirectories -</pre></div> -<br> -<br> -</p> - -<p> -JkOptions <b>ForwardLocalAddress</b>, you ask mod_jk to send the local address, -of the Apache web server instead remote client address. This can be used by -Tomcat remote address valve for allowing connections only from registered Apache -web servers. - -<div class="example"><pre> - JkOptions +ForwardLocalAddress -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>FlushPackets</b>, you ask mod_jk to flush Apache's connection -buffer after each AJP packet chunk received from Tomcat. This option can have -a strong performance penalty for Apache and Tomcat as writes are performed -more often than would normally be required (ie: at the end of each -response). - -<div class="example"><pre> - JkOptions +FlushPackets -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>FlushHeader</b>, you ask mod_jk to flush Apache's connection -buffer after the response headers have been received from Tomcat. - -<div class="example"><pre> - JkOptions +FlushHeader -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>DisableReuse</b>, you ask mod_jk to close connections immediately -after their use. Normally mod_jk uses persistent connections and pools idle -connections to reuse them, when new requests have to be sent to Tomcat. -</p> - -<p> -Using this option will have a strong performance penalty for Apache and Tomcat. -Use this only as a last resort in case of unfixable network problems. -If a firewall between Apache and Tomcat silently kills idle connections, -try to use the worker attribute socket_keepalive in combination with an appropriate -TCP keepalive value in your OS. - -<div class="example"><pre> - JkOptions +DisableReuse -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>ForwardKeySize</b>, you ask mod_jk, when using ajp13, to forward also the SSL Key Size as -required by Servlet API 2.3. -This flag shouldn't be set when servlet engine is Tomcat 3.2.x (on by default). - -<div class="example"><pre> - JkOptions +ForwardKeySize -</pre></div> - -<br> -<br> -</p> - -<p> -JkOptions <b>ForwardSSLCertChain</b>, you ask mod_jk, when using ajp13, -to forward SSL certificate chain (off by default). -Mod_jk only passes the <b class="code">SSL_CLIENT_CERT</b> to the AJP connector. This is not a -problem with self-signed certificates or certificates directly signed by the -root CA certificate. However, there's a large number of certificates signed by -an intermediate CA certificate, where this is a significant problem: A servlet -will not have the possibility to validate the client certificate on its own. The -bug would be fixed by passing on the <b class="code">SSL_CLIENT_CERT_CHAIN</b> to Tomcat via the AJP connector. -<br> -This directive exists only since version 1.2.22. -<div class="example"><pre> - JkOptions +ForwardSSLCertChain -</pre></div> - -<br> -<br> -</p> - -<p> -The directive <b>JkEnvVar</b> allows you to forward environment variables -from Apache server to Tomcat engine. -You can add a default value as a second parameter to the directive. -If the default value is not given explicitly, the variable -will only be send, if it is set during runtime. -<br> -The variables can be retrieved on the Tomcat side as request attributes -via request.getAttribute(attributeName). -Note that the variables send via JkEnvVar will not be listed -in request.getAttributeNames(). -<br> -<br> -The variables are inherited from the global server to virtual hosts. - -<div class="example"><pre> - JkEnvVar SSL_CLIENT_V_START undefined -</pre></div> -<br> -<br> -</p> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Assigning URLs to Tomcat"><strong>Assigning URLs to Tomcat</strong></a></font></td></tr><tr><td><blockquote> -<p> -If you have created a custom or local version of mod_jk.conf-local as noted above, -you can change settings such as the workers or URL prefix. -</p> -<p> -<b>JkMount</b> directive assign specific URLs to Tomcat. -In general the structure of a JkMount directive is: -</p> - -<div class="example"><pre> - JkMount [URL prefix] [Worker name] -</pre></div> - -<div class="example"><pre> - # send all requests ending in .jsp to worker1 - JkMount /*.jsp worker1 - # send all requests ending /servlet to worker1 - JkMount /*/servlet/ worker1 - # send all requests jsp requests to files located in /otherworker will go worker2 - JkMount /otherworker/*.jsp worker2 -</pre></div> - -<p> -You can use the JkMount directive at the top level or inside <VirtualHost> -sections of your httpd.conf file. -</p> -<p><b>JkUnMount</b> directive acts as an opposite to JkMount and blocks access -to a particular URL. The purpose is to be able to filter out the particular content -types from mounted context. The following example mounts /servlet/* -context, but all .gif files that belongs to that context are not served. -</p> -<div class="example"><pre> - # send all requests ending with /servlet to worker1 - JkMount /servlet/* worker1 - # do not send requests ending with .gif to worker1 - JkUnMount /servlet/*.gif worker1 -</pre></div> -<p> -JkUnMount takes precedence over JkMount directives, meaning that the JK -will first try to mount and then checks, if there is an exclusion defined by a -JkUnMount. A JkUnMount overrides a JkMount only, if the worker names in the -JkMount and in the JkUnMount are the same. -</p> -<p> -The following example will block all .gif files although there is a JkMount for them: -</p> -<div class="example"><pre> - # do not send requests ending with .gif to worker1 - JkUnMount /*.gif worker1 - # The .gif files will not be mounted cause JkUnMount takes - # precedence over JkMount directive - JkMount /servlet/*.gif worker1 -</pre></div> -<p> -Starting with version 1.2.26 of JK you can apply a JkUnMount to any worker, -by using the star character '*' as the worker name in the JkUnMount. -More complex patterns in JkUnMount worker names are not allowed. -</p> -<div class="example"><pre> - # Mapping the webapps myapp1 and myapp2: - /myapp1/*=worker1 - /myapp2/*=worker2 - # Exclude the all subdirectories static for all workers: - !/*/static/*=* - # Exclude some suffixes for all workers: - !*.html=* -</pre></div> -<p> -<b>JkAutoAlias</b> directive automatically <b>Alias</b> webapp context directories into -the Apache document space. It enables Apache to serve a static context while Tomcat -serving dynamic context. This directive is used for convenience so that you don't -have to put an apache Alias directive for each application directory inside Tomcat's -webapp directory. For security reasons is is strongly recommended that JkMount -is used to pass all requests to Tomcat by default and JkUnMount is used to -explicitly exclude static content to be served by httpd. It should also be noted -that content served by httpd will bypass any security constraints defined in the -application's web.xml. -</p> -<div class="example"><pre> - # enter the full path to the tomcat webapps directory - JkAutoAlias /opt/tomtact/webapps -</pre></div> -<p>The following example shows how to serve a dynamic context by -Tomcat and static using Apache. The webapps directory has to -be accessible by apache.</p> - -<div class="example"><pre> - # enter the full path to the tomcat webapps directory - JkAutoAlias /opt/tomtact/webapps - - # Mount 'servlets-examples' directory. It's physical location - # is assumed to be in the /opt/tomtact/webapps/servlets-examples - # ajp13w is a worker defined in the workers.properties - JkMount /servlets-examples/* ajp13w - - # Unmount desired static content from servlets-examples webapp. - # This content will be served by the httpd directly. - JkUnMount /servlets-examples/*.gif ajp13w - JkUnMount /servlets-examples/*.jpg ajp13w -</pre></div> -<p>Note that you can have a single JkAutoAlias directive per virtual -host inside your httpd.conf -</p> -<p> -<b>JkWorkerProperty</b> is a new directive available from JK 1.2.7 -version. It is a convenient method for setting directives that are -usually set inside <b>workers.propeties</b> file. The parameter for -that directive is raw line from workers.properties file. -</p> -<div class="example"><pre> - # Just like workers.properties but exact line is prefixed - # with JkWorkerProperty - - # Minimal jk configuration - JkWorkerProperty worker.list=ajp13w - JkWorkerProperty worker.ajp13w.type=ajp13 - JkWorkerProperty worker.ajp13w.host=localhost - JkWorkerProperty worker.ajp13w.port=8009 -</pre></div> -<p> -<b>JkMountFile</b> is a new directive available from JK 1.2.9 -version. It is used for dynamic updates of mount points at runtime. -When the mount file is changed, JK will reload it's content. -</p> -<div class="example"><pre> - # Load mount points - - JkMountFile conf/uriworkermap.properties -</pre></div> -<p>If the mount point uri starts with an exclamation mark '!' -it defines an exclusion in the same way JkUnMount does. -If the mount point uri starts with minus sign '-' -the mount point will only be disabled. A disabled mount can be reenabled -by deleting the minus sign and waiting for the JkMountFile to reload. -An exclusion can be disabled by prefixing it with a minus sign. -</p> -<div class="example"><pre> - # Sample uriworkermap.properties file - - /servlets-examples/*=ajp13w - # Do not map .jpeg files - !/servlets-examples/*.jpeg=ajp13w - # Make jsp examples initially disabled - -/jsp-examples/*=ajp13w -</pre></div> -<p>At run time you can change the content of this file. For example -removing minus signs will enable the previously disabled uri mappings. -You can add any number of new entries at runtime that reflects the newly deployed -applications. Apache will reload the file and update the mount -points within 60 second interval. -</p> -<p> -There is no way to delete entries by dynamic reloading, but you can disable or -exclude mappings. -<br> -<br> -</p> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Using SetHandler and Environment Variables"><strong>Using SetHandler and Environment Variables</strong></a></font></td></tr><tr><td><blockquote> -<p> -Alternatively to the mod_jk specific directives, you can also use -SetHandler and environment variables to control, which requests -are being forwarded via which worker. This gives you more flexibility, -but the results might be more difficult to understand. If you mix both -ways of defining the forwards, in general to mod_jk directives will win. -</p> -<p> -<b>SetHandler jakarta-servlet</b> forces requests to be handled by mod_jk. -If you neither specify any workers via JkMount and the related directives, -not via the environment variable described below, -the first worker in the list of all worker will be chosen. You can use SetHandler -for example in Location blocks or with Apache 2.2 also in RewriteRule. -</p> -<p> -In order to control the worker using <b>SetEnvIf</b> or <b>RewriteRule</b> -for more complex rules, you can set the environment variable <b>JK_WORKER_NAME</b> -to the name of your chosen target worker. This enables you to decide on -the chosen worker in a more flexible way, including dependencies on cookie values. -This feature has been added in version 1.2.19 of mod_jk. -</p> -<p> -In order to use another variable than <b>JK_WORKER_NAME</b>, you can set the name -of this variable via the <b>JkWorkerIndicator</b> directive. -</p> -<p> -You can also define exclusions from mod_jk forwards by setting the environment -variable <b>no-jk</b>. -</p> -<div class="example"><pre> - # Automatically map all encoded urls - <Location *;jsessionid=> - SetHandler jakarta-servlet - SetEnv JK_WORKER_NAME my_worker - </Location> - - # Map all subdirs to workers via naming rule - # and exclude static content. - <Location /apps/> - SetHandler jakarta-servlet - SetEnvIf REQUEST_URI ^/apps/([^/]*)/ JK_WORKER_NAME=$1 - SetEnvIf REQUEST_URI ^/apps/([^/]*)/static no-jk - </Location> -</pre></div> -<p> -Finally, starting with version 1.2.27 you can use the environment variable -<b>JK_REPLY_TIMEOUT</b> to dynamically set a reply timeout. -</p> -</blockquote></td></tr></table> - </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2011, Apache Software Foundation - </em></font></div></td></tr></table></body></html>
\ No newline at end of file diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/iis.html b/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/iis.html deleted file mode 100644 index 8405bcf5..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/iis.html +++ /dev/null @@ -1,331 +0,0 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connector - Reference Guide - Configuring IIS</title><meta name="author" value="Mladen Turk"><meta name="email" value="mturk@apache.org"><link href="../../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left"><table border="0" width="100%" cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connector - Reference Guide</h1><h2>Configuring IIS</h2></td><td align="right" valign="top" nowrap="true"><img src="../../images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Requirements"><strong>Requirements</strong></a></font></td></tr><tr><td><blockquote> -<p> -The Tomcat redirector requires three entities: - -<ul> -<li> -<b>isapi_redirect.dll</b> - The IIS server plugin, either obtain a pre-built DLL or build it yourself (see the build section). -</li> -<li> -<b>workers.properties</b> - A file that describes the host(s) and port(s) used by the workers (Tomcat processes). -A sample workers.properties can be found under the conf directory. -</li> -<li> -<b>uriworkermap.properties</b> - A file that maps URL-Path patterns to workers. -A sample uriworkermap.properties can be found under the conf directory as well. -</li> -</ul> -</p> - -<p> -The installation includes the following parts: - -<ul> -<li> -Configuring the ISAPI redirector with a default /examples context and checking that you can serve servlets with IIS. -</li> -<li> -Adding more contexts to the configuration. -</li> -</ul> -</p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Registry settings"><strong>Registry settings</strong></a></font></td></tr><tr><td><blockquote> -<p> -ISAPI redirector reads configuration from the registry, create a new registry key named : -</p> -<p> -<b>"HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0"</b> -</p> -<table border="1" cellpadding="5"><tr><th width="20%" bgcolor="#023264"><font color="#ffffff">Key Name</font></th><th width="80%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>extension_uri</code></strong></td><td align="left" valign="center"><p> -A string value pointing to the ISAPI extension <b>/jakarta/isapi_redirect.dll</b> -</p></td></tr><tr><td align="left" valign="center"><code>log_file</code></td><td align="left" valign="center"><p> -A value pointing to location where log file will be created. -(for example <b>c:\tomcat\logs\isapi.log</b>) -<br>If one of the log rotation settings (<b>log_rotationtime</b> or <b>log_filesize</b>) are specified then the actual log file name is based on this setting. -If the log file name includes any '%' characters, then it is treated as a format string for <b class="code">strftime(3)</b>, -e.g. <b>c:\tomcat\logs\isapi-%Y-%m-%d-%H_%M_%S.log</b>. Otherwise, the suffix <em>.nnnnnnnnnn</em> is automatically added and is the time in seconds. -A full list of format string substitutions can be found in the <a href="http://httpd.apache.org/docs/2.0/programs/rotatelogs.html">Apache rotatelogs documentation</a> -</p></td></tr><tr><td align="left" valign="center"><code>log_level</code></td><td align="left" valign="center"><p> -A string value for log level -(can be debug, info, warn, error or trace).</p> -<p>This directive was added in version 1.2.31</p> -</td></tr><tr><td align="left" valign="center"><code>log_rotationtime</code></td><td align="left" valign="center"><p> -The time between log file rotations in seconds. -Setting this to 0 (the default) disables log rotation based on time.</p> -<p>This directive was added in version 1.2.31</p> -</td></tr><tr><td align="left" valign="center"><code>log_filesize</code></td><td align="left" valign="center"><p> -The maximum log file size in megabytes, after which the log file will be rotated. Setting this to 0 (the default) disables log rotation based on file size. -<br>The value can have an optional <b>M</b> suffix, i.e. both <b>5</b> and <b>5M</b> will rotate the log file when it grows to 5MB. -<br>If <b>log_rotationtime</b> is specified, then this setting is ignored. -</p></td></tr><tr><td align="left" valign="center"><strong><code>worker_file</code></strong></td><td align="left" valign="center"><p> -A string value which is the full path to workers.properties file -(for example <b>c:\tomcat\conf\workers.properties</b>) -</p></td></tr><tr><td align="left" valign="center"><strong><code>worker_mount_file</code></strong></td><td align="left" valign="center"><p> -A string value which is the full path to uriworkermap.properties file -(for example <b>c:\tomcat\conf\uriworkermap.properties</b>) -</p></td></tr><tr><td align="left" valign="center"><code>rewrite_rule_file</code></td><td align="left" valign="center"><p> -A string value which is the full path to rewrite.properties file -(for example <b>c:\tomcat\conf\rewrite.properties</b>) -</p></td></tr><tr><td align="left" valign="center"><code>shm_size</code></td><td align="left" valign="center"><p> -A DWORD value size of the shared memory. Set this value to be -the number of all defined workers * 400. -(Set this value only if you have <b>more</b> then <b>64</b> workers) -</p> -<p>This directive has been added in version 1.2.20</p> -<p>Starting with version 1.2.27 the size of the shared memory is determined -automatically, even for large numbers of workers. This attribute is not -needed any longer.</p> -</td></tr><tr><td align="left" valign="center"><code>worker_mount_reload</code></td><td align="left" valign="center"><p> -A DWORD value specifying the time in seconds upon which the -<b>worker_mount_file</b> will be reloaded. -</p> -<p>This directive has been added in version 1.2.20</p> -</td></tr><tr><td align="left" valign="center"><code>strip_session</code></td><td align="left" valign="center"><p> -A string value representing a boolean. If it is set to true, -URL session suffixes of the form ";jsessionid=..." get stripped of URLs, -even if the are served locally by the web server. -</p> -<p> -A true value can be represented by the string "1" or any string starting -with the letters "T" or "t". A false value will be assumed for "0" -or any string starting with "F" or "f". The default value is false. -</p> -<p>This directive has been added in version 1.2.21</p> -</td></tr><tr><td align="left" valign="center"><code>auth_complete</code></td><td align="left" valign="center"><p> -A DWORD value representing "0" or "1". This is needed because -of minor incompatibilities with IIS 5.1. -</p> -<p> -By default its value is 1, which means we use the SF_NOTIFY_AUTH_COMPLETE -event. If you set this to 0, then we use SF_NOTIFY_PREPROC_HEADERS. -This might be needed for IIS 5.1 when handling requests using the -PUT HTTP method. -</p> -<p>This directive has been added in version 1.2.21</p> -</td></tr><tr><td align="left" valign="center"><code>uri_select</code></td><td align="left" valign="center"><p> -A string value which influences, how URIs are decoded and re-encoded -between IIS and Tomcat. You should leave this at it's default value, -unless you have a very good reason to change it. -</p> -<p> -If the value is "parsed", the forwarded URI -will be decoded and explicit path components like ".." will already -be resolved. This is less spec compliant and is <b>not safe</b> -if you are using prefix forwarding rules. -</p> -<p> -If the value is "unparsed", the forwarded URI -will be the original request URI. It's spec compliant and also -the safest option. Rewriting the URI and then forwarding the rewritten -URI will not work. -</p> -<p> -If the value is "escaped", the forwarded URI -will be the re-encoded form of the URI used by "parsed". -Explicit path components like ".." will already be resolved. -This will not work in combination with URL encoded session IDs. -</p> -<p> -If the value is "proxy", the forwarded URI -will be a partially re-encoded form of the URI used by "parsed". -Explicit path components like ".." will already be resolved. -and problematic are re-encoded. -</p> -<p>The default value since version 1.2.24 is "proxy". Before it was "parsed".</p> -</td></tr><tr><td align="left" valign="center"><code>reject_unsafe</code></td><td align="left" valign="center"><p> -A string value representing a boolean. If it is set to true, -URLs containing percent signs '%' or backslashes '\' -after decoding will be rejected. -</p> -<p> -Most web apps do not use such URLs. By enabling "reject_unsafe" you -can block several well known URL encoding attacks. -</p> -<p> -A true value can be represented by the string "1" or any string starting -with the letters "T" or "t". A false value will be assumed for "0" -or any string starting with "F" or "f". The default value is false. -</p> -<p>This directive has been added in version 1.2.24</p> -</td></tr><tr><td align="left" valign="center"><code>watchdog_interval</code></td><td align="left" valign="center"><p> -A DWORD value representing the watchdog thread interval in seconds. -The workers are maintained periodically by a background thread -running periodically every watchdog_interval seconds. Worker maintenance -checks for idle connections, corrects load status and is able -to detect backend health status. -</p> -<p> -The maintenance only happens, if since the last maintenance at -least <a href="workers.html"><b class="code">worker.maintain</b></a> -seconds have passed. So setting the watchdog_interval -much smaller than <b class="code">worker.maintain</b> is not useful. -</p> -<p> -The default value is 0 seconds, meaning the watchdog thread -will not be created, and the maintenance is done in combination -with normal requests instead. -</p> -<p>This directive has been added in version 1.2.27</p> -</td></tr><tr><td align="left" valign="center"><code>error_page</code></td><td align="left" valign="center"><p> -A string value representing the error page url redirection when -backend returns non-200 response. This directive can be used -to customise the error messages returned from backend server. -</p> -<p>The url must point to a valid server url and can contain -format string number <b class="code">(%d)</b> that can be used to -separate the pages by error number. The redirect url in that -case is formatted by replacing <b class="code">%d</b> from -<b class="code">error_page</b> to returned error number. -</p> -<p>This directive has been added in version 1.2.27</p> -</td></tr><tr><td align="left" valign="center"><code>enable_chunked_encoding</code></td><td align="left" valign="center"><p> -A string value representing a boolean. If it is set to true, -chunked encoding is supported by the server. -</p> -<p> -A true value can be represented by the string "1" or any string starting -with the letters "T" or "t". A false value will be assumed for "0" -or any string starting with "F" or "f". The default value is false. -</p> -<p><font color="#ff0000">This option is considered experimental and its support -must be compile time enabled. Use <b class="code">isapi_redirect.dll</b> -with chunked support enabled. -</font></p> -<p>This directive has been added in version 1.2.27</p> -</td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Using a properties file for configuration"><strong>Using a properties file for configuration</strong></a></font></td></tr><tr><td><blockquote> -<p> -The ISAPI redirector can read it's configuration from a properties file instead of the registry. -This has the advantage that you can use multiple ISAPI redirectors with independent configurations on the same server. -The redirector will check for the properties file during initialisation, and use it in preference to the registry if present. -</p> -<p> -Create a properties file in the same directory as the ISAPI redirector called <b>isapi_redirect.properties</b> i.e. with the same name as the ISAPI redirector DLL but with a <em>.properties</em> extension. A sample isapi_redirect.properties can be found under the conf directory. -</p> -<p> -The property names and values in the properties file are the same as for the registry settings described above. For example: -</p> -<p> -<div class="example"><pre> -# Configuration file for the Jakarta ISAPI Redirector - -# The path to the ISAPI Redirector Extension, relative to the website -# This must be in a virtual directory with execute privileges -extension_uri=/jakarta/isapi_redirect.dll - -# Full path to the log file for the ISAPI Redirector -log_file=c:\tomcat\logs\isapi_redirect.log - -# Log level (debug, info, warn, error or trace) -log_level=info - -# Full path to the workers.properties file -worker_file=c:\tomcat\conf\workers.properties - -# Full path to the uriworkermap.properties file -worker_mount_file=c:\tomcat\conf\uriworkermap.properties -</pre></div> -</p> -<p> - Notes: - <ul> - <li> - Back-slashes - '\' - are not escape characters. - </li> - <li> - Comment lines begin with '#'. - </li> - </ul> -</p> -<p>Starting with version 1.2.27 two environment variables are -dynamically added to the environment that can be used inside -<b class="code">.properties</b> files. - <ul> - <li>JKISAPI_PATH - Full path to the ISAPI Redirector. - </li> - <li>JKISAPI_NAME - Name of the ISAPI Redirector dll without extension - </li> - </ul> -</p> -<p><div class="example"><pre> -# Use the logs in the installation path of ISAPI Redirector -log_file=$(ISAPI_PATH)\$(ISAPI_NAME).log -</pre></div></p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Log file rotation"><strong>Log file rotation</strong></a></font></td></tr><tr><td><blockquote> -<p> -The ISAPI redirector with version 1.2.31 can perform log rotation, with configuration and behaviour similar to the -<a href="http://httpd.apache.org/docs/2.0/programs/rotatelogs.html">rotatelogs</a> program provided with Apache HTTP Server. -</p> -<p> -To configure log rotation, configure a <b>log_file</b>, and one of the <b>log_rotationtime</b> or <b>log_filesize</b> options. -If both are specified, the <b>log_rotationtime</b> will take precedence, and <b>log_filesize</b> will be ignored. -<br>For example, to configure daily rotation of the log file: -</p> -<div class="example"><pre> -# Configuration file for the Jakarta ISAPI Redirector -... - -# Full path to the log file for the ISAPI Redirector -log_file=c:\tomcat\logs\isapi_redirect.%Y-%m-%d.log - -# Log level (debug, info, warn, error or trace) -log_level=info - -# Rotate the log file every day -log_rotationtime=86400 - -... -</pre></div> -<p> -Or to configure rotation of the log file when it reaches 5MB in size: -</p> -<div class="example"><pre> -# Configuration file for the Jakarta ISAPI Redirector -... - -# Full path to the log file for the ISAPI Redirector -log_file=c:\tomcat\logs\isapi_redirect.%Y-%m-%d-%H.log - -# Log level (debug, info, warn, error or trace) -log_level=info - -# Rotate the log file at 5 MB -log_filesize=5M - -... -</pre></div> -<p> -The log will be rotated whenever the configured limit is reached, but only if the log file name would change. If you configure - a log file name with <b class="code">strftime(3)</b> format codes in it, then ensure it specifies the same granularity - as the rotation time configured, e.g. <b>%Y-%m-%d</b> if rotating daily (<b>log_rotationtime=86400</b>). -<br>See the <a href="http://httpd.apache.org/docs/2.0/programs/rotatelogs.html">rotatelogs</a> documentation for more examples. -</p> - -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Using a simple rewrite rules"><strong>Using a simple rewrite rules</strong></a></font></td></tr><tr><td><blockquote> -<p> -The ISAPI redirector with version 1.2.16 can do a simple URL rewriting. Although not -as powerful as Apache Httpd's mod_rewrite, it allows a simple exchange of request URIs -</p> -<p> -The rule is in the form original-url-prefix=forward-url-prefix. For example: -</p> -<div class="example"><pre> -# Simple rewrite rules, making /jsp-examples -# and /servlets-examples available under shorter URLs -/jsp/=/jsp-examples/ -/servlets/=/servlets-examples/ -</pre></div> -<p> -You can also use regular expressions, if you prefix the rule with a tilde <b class="code">~</b>: -</p> -<div class="example"><pre> -# Complex rewrite rule, adding "-examples" -# to the first path component of all requests -~/([^/]*)=/$1-examples -</pre></div> -<p> -Note that uriworkermap.properties must use the URLs before rewriting. -</p> -</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2011, Apache Software Foundation - </em></font></div></td></tr></table></body></html>
\ No newline at end of file diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/status.html b/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/status.html deleted file mode 100644 index 56412d61..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/status.html +++ /dev/null @@ -1,546 +0,0 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connector - Reference Guide - Status Worker Reference</title><meta name="author" value="Rainer Jung"><meta name="email" value="rjung@apache.org"><link href="../../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left"><table border="0" width="100%" cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connector - Reference Guide</h1><h2>Status Worker Reference</h2></td><td align="right" valign="top" nowrap="true"><img src="../../images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Tomcat Connectors has a special type of worker, the so-called status worker. -The status worker does not forward requests to Tomcat instances. Instead it allows -to retrieve status and configuration information at runtime, -and furthermore to change many configuration items dynamically. This can be done -via a simple embedded web interface. -</p> -<p> -The status worker is especially powerful, when used together with load balancing workers. -</p> -<p> -This document does not explain the HTML user interface of the status worker. -Until now it is very simple, so just go ahead and use it. This doc instead -tries to explain the less obvious features of the status worker. We also will give a -complete coverage of the various request parameters and their meaning, so that you can -include the status worker in your automation scripts. -</p> -<p> -The documentation of the status worker starts with <b>jk 1.2.20</b> -</p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Usage Patterns"><strong>Usage Patterns</strong></a></font></td></tr><tr><td><blockquote> -<br> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Actions"><strong>Actions</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The status worker knows about six actions. -<ul> -<li> -<b>list</b>: lists the configurations and runtime information of all configured workers. -The output will be grouped by global information first (version data), then load balancer -information, after that AJP worker information and finally the legend. For load balancers, -there will be a summary part, and after that details for each member worker. For all workers, -we also include the URL mappings (forward definitions). -</li> -<li> -<b>show</b>: the same as list, but only shows data for one chosen worker -</li> -<li> -<b>edit</b>: produces a form to edit configuration data for a chosen worker. There is a -special subtype of "edit", that makes it easy to change one attribute for all members of -a load balancer, e.g. their activation state. -</li> -<li> -<b>update</b>: commit changes made in an edit form. <b>Caution</b>: the changes will not be -persisted to the configuration files. As soon as your restart your web server, all changes -made through the status worker will be lost! On the other hand, the changes done by the status -worker will be applied during runtime without a restart of the web server. -</li> -<li> -<b>reset</b>: reset all runtime statistics for a worker. -</li> -<li> -<b>recover</b>: Mark a member of a load balancer, that is in error state, for immediate recovery. -</li> -<li> -<b>version</b>: only show version information of the web server and the JK software -</li> -<li> -<b>dump</b>: list the original workers configuration. <b>Caution</b>: the dump will only contain -the configuration that was used during startup. Any changes applied later by the dynamic management -interface of the status worker itself will not be contained in this dump. -The dump action has been added in version 1.2.27. -</li> -</ul> -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Output Format"><strong>Output Format</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -For most actions you can choose between 4 output formats. -<ul> -<li> -<b>HTML</b>: Used interactively with a browser -</li> -<li> -<b>XML</b>: Mostly useful for automation, when your scripting environment is XML friendly. -This format has rich structure information, but does not work line based, so you would really -like to use it together with XML tools. -</li> -<li> -<b>Properties</b>: This format is a line based format, that conforms to the rules of Java -property files. Most structure information is contained in the hierarchical key. For information, -that is of configuration nature, the format should produce lines very similar to the ones you can -use in workers.properties. It will not produce a complete configuration file! -</li> -<li> -<b>Text</b>: A simple textual output format. -</li> -</ul> -The "edit" action does only make sense for the HTML output type. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="User Interface Features"><strong>User Interface Features</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -In the HTML view, there is an <b>automatic refresh</b> feature, implemented via the meta refresh -option of HTML. Once you start the automatic refresh, the UI will will respect it for all actions -except edit, update and maintain. Even if you navigate through one of those, the automatic refresh -will start again as soon as you come back to one of the other actions. -</p> -<p> -Many parts of the HTML page can be minimised, if they are not interesting for you. There are a couple -of "Hide" links, which will collapse parts of the information. The feature exists for the following -blocks of information: -<ul> -<li> -<b>Legend</b>: Do not show the legend for the information presented in "list" and "show" actions -</li> -<li> -<b>URI mappings</b>: Do not show the URI mapping for the workers -</li> -<li> -<b>Load Balancing Workers</b>: Do not show workers of type "lb" -</li> -<li> -<b>AJP Workers</b>: Do not show workers of type ajp -</li> -<li> -<b>Balancer Members</b>: Do not show detailed information concerning each member of load balancers -</li> -<li> -<b>Load Balancer Configuration</b>: Do not show configuration data for load balancers -</li> -<li> -<b>Load Balancer Summary</b>: Do not show status summary for load balancers -</li> -<li> -<b>AJP Configuration</b>: Do not show configuration data for ajp workers load balancer members -</li> -</ul> -The last three minimisation features have been added in version 1.2.27. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Considerations concerning URL Maps and Virtual Hosts"><strong>Special Considerations concerning URL Maps and Virtual Hosts</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -<b>Note: </b>The following restriction has been removed starting with version 1.2.26. -</p> -<p> -The Apache module mod_jk makes use of the internal Apache httpd infrastructure concerning -virtual hosts. The downside of this is, that the status worker can only show URL maps, for -the virtual host it is defined in. It is not able to reach the configuration objects -for other virtual hosts. Of course you can define a status worker in any virtual host you -are using. All information presented apart from the URL maps will be the same, independent -of the virtual host the status worker has been called in. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The status worker will log changes made to the configuration with log level "info" to the usual -JK log file. Invalid requests will be logged with log level "warn". If you want to report some -broken behaviour, log file content of level "debug" or even "trace" will be useful. -</p> -</blockquote></td></tr></table> - -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote> -<br> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Basic Configuration"><strong>Basic Configuration</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The basic configuration of a status worker is very similar to that of a usual ajp worker. -You need to specify a name for the worker, and the URLs you want to map to it. The first -part of the configuration happens in the workers.properties file. We define a worker named -mystatus of type status: -<div class="example"><pre> -worker.list=mystatus -worker.mystatus.type=status -</pre></div> -Then we define a URL, which should be mapped to this worker, i.e. the URL we use -to reach the functionality of the status worker. You can use any method mod_jk supports -for the web server of your choice. Possibilities are maps inside uriworkermap.properties, -an additional mount attribute in workers.properties, or in Apache JkMount. Here's an -example for a uriworkermap.properties line: -<div class="example"><pre> -/private/admin/mystatus=mystatus -</pre></div> -The URI pattern is case sensitive. -</p> -<p> -As you will learn in the following sections, the status worker is very powerful. You should -use the usual authentication and authorisation methods of your web server to secure this URL. -</p> -<p> -You can also define multiple instances of the status worker, by using different names and URL mappings. -For instance you might want to configure them individually -and then allow special groups of people to use them -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Output Customisation"><strong>Output Customisation</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -There are a couple of attributes for the workers.properties entries, which allow to customise -various aspects of the output of the status worker. -</p> -<p> -The attribute <b>css</b> can be set to the URL of a stylesheet: -<div class="example"><pre> -worker.mystatus.css=/private/admin/static/mystatus.css -</pre></div> -When writing HTML output, the status worker then includes the line -<div class="example"><pre> -<link rel="stylesheet" type="text/css" href="/private/admin/static/mystatus.css" /> -</pre></div> -There is no sample stylesheet included with the mod_jk release, and by default the attribute css -is empty, so no stylesheet reference will be included in the pages. The HTML code -of the status worker output pages does not include any class attributes. If you like to contribute a -stylesheet or improvements to the HTML layout, please contact us on the tomcat developers list. -</p> -<p> -The properties output format can be customised via the attribute <b>prefix</b>. The names of all -properties the status worker does output, will begin with this prefix. The default is "worker". -</p> -<p> -Several attributes influence the format when writing XML output. -The attribute <b>ns</b> allows to set a namespace prefix, that will be used for every status worker+element. -The default is "jk:". Setting it to "-" disables the namespace prefix. -</p> -<p> -With the attribute xmlns you can map the prefix to a namespace URL. The default value -is xmlns:jk="http://tomcat.apache.org". Setting it to "-" disables the output of the URL. -</p> -<p> -Finally you can specify an XML document type via the attribute doctype. The specified string will -be inserted at the beginning of the document, directly after the xml header. The default is empty. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Securing Access"><strong>Securing Access</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -We urge you to use the builtin access control features of your web server to control -access to the status worker URLs you have chosen. Nevertheless two configuration -attributes of status workers are helpful. The attribute "read_only" disables all features of -the status worker, that can be used to change configurations or runtime status of the other workers. -A read_only status worker will not allow access to the edit, update, reset or recover actions. -The default value is "False", ie. read/write. To enable read_only you need to set it to "True". -</p> -<p> -You could configure two status workers, one has read_only and will be made available to a larger -admin group, the other one will be used fully featured, but only by fewer people: -<div class="example"><pre> -worker.list=jk-watch -worker.jk-watch.type=status -worker.jk-watch.read_only=True -worker.jk-watch.mount=/user/status/jk -worker.list=jk-manage -worker.jk-manage.type=status -worker.jk-manage.mount=/admin/status/jk -</pre></div> -Starting with version 1.2.21, a read/write status worker can also be switched temporarily -into read-only mode by the user via a link in the HTML GUI. The user can always switch it -back to read/write. Only a status worker configured as read-only via the "read_only" attribute -is completely safe from applying any changes. -</p> -<p> -The other attribute you can use is <b>user</b>. By default this list is empty, which means -no limit on the users. You can set "user" to a comma separated list of user names. If your -web server is configured such that it sends the user names with the request, the status worker -will check, if the name attached with the request is contained in it's "user" list. -</p> -<p> -The user list can be split over multiple occurrences of the "user" attribute. -</p> -<p> -By default, the user names are matched case sensitively. Starting with version 1.2.21 you can set -the attribute <b>user_case_insensitive</b> to "True". Then the comparison will be made case insensitive. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Service Availability Rating"><strong>Service Availability Rating</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -For load balancing workers the status worker shows some interesting overview information. -It categorises the members of the load balancer into the classes "good", "bad" and degraded". -This feature can be combined with external escalation procedures. Depending on your global -system design and your operating practises your preferred categorisation might vary. -</p> -<p> -The categorisation is based on the activation state of the workers (active, disabled or stopped), -which is a pure configuration state, and the runtime state -(OK or ERR with possible substates idle, busy, recovering, probing, and forced recovery) -which only depends on the runtime situation. -</p> -<p> -The runtime substates have the following meaning: -<ul> -<li> -<b>OK (idle)</b>: This worker didn't receive any request since the last balancer -maintenance. By default balancer maintenance runs every 60 seconds. The -worker should be OK, but since we didn't have to use it for some time, we -can't be sure. This state has been called N/A before version 1.2.24. -</li> -<li> -<b>OK (busy)</b>: All connections for this worker are in use for requests. -</li> -<li> -<b>ERROR (recovering)</b>: The worker was in error state for some time and is now -marked for recovery. The next request suitable for this worker will use it. -</li> -<li> -<b>ERROR (probing)</b>: After setting the worker to recovering, we received a request -suitable for this worker. This request is now using the worker. -</li> -<li> -<b>ERROR (forced recovery)</b>: The worker is in error, but we don't have an alternative -worker, so we keep using it. -</li> -</ul> -</p> -<p> -By default the status worker groups into "good" all members, that have activation "active" and -runtime state not equal to "error" with empty substate. -The "bad" group consists of the members, that have either activation -"stopped", or are in runtime state "error" with empty substate. -</p> -<p> -Workers that fit neither of the two groups, are considered to be "degraded". -</p> -<p> -You can define other rules for the grouping into good, bad and degraded. -The two attributes "good" and "bad" can be populated by a comma-separated list ob single characters or -dot-separated pairs. Each character stands for the first character of one of the possible states "active", -"disabled", "stopped", "ok", "idle", "busy", "recovering" and "error". The additional states "probing" -and "forced recovery" are always rated equivalent to "recovering". -Comma-separated entries will be combined -with logical "or", if you combine a configuration and a runtime state with a dot. the are combined with logical -"and". So the default value for "good" is "a.o,a.i,a.b,a.r", for "bad" it is "e,s". -</p> -<p> -The status worker first tries to match against the "bad" definitions, if this doesn't succeed -it tries to match against "good", and finally it chooses "degraded", if no "bad" or "good" match -can be found. -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Request Parameters"><strong>Request Parameters</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -This section should help you building automation scripts based on the jk status -management interface. This interface is stable in the sense, that we only expect -to add further parameters in the future. Existing parameters from previous versions -will keep their original semantics. We also expect the output formats XML, Properties -and Text to be kept stable. So please use those, if you want to parse status worker -output in your automation scripts. -</p> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Actions"><strong>Actions</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The action is determined by the parameter <b>cmd</b>. It can have the values "list", "show", -"edit", "update", "reset", "recover", "version" and "dump". If you omit the <b>cmd</b> parameter, -the default "list" will be used. -All actions except for "list", "refresh", "version" and "dump" need additional parameters. -</p> -<p> -The action "dump" has been added in version 1.2.27. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Output Format"><strong>Output Format</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The format is determined by the parameter <b>mime</b>. It can have the values "html", "xml", -"txt" and "prop". If you omit the <b>mime</b> parameter, the default "html" -will be used. The action "edit" (the edit form) does only make sense for "mime=html". -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Worker Selection"><strong>Worker Selection</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Actions that operate on a single worker need one or two additional parameters to select -this worker. The parameter <b>w</b> contains the name of the worker from the worker list. -If an action operates on a member (sub worker) of a load balancer, the parameter <b>w</b> -contains the name of the load balancer worker, and the additional parameter <b>sw</b> contains the -name of the sub worker. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Automatic Refresh"><strong>Automatic Refresh</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -During automatic refresh, the parameter <b>re</b> contain the refresh interval in seconds. -If you omit this parameter, automatic refresh will be off. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Hide Options"><strong>Hide Options</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The parameter <b>opt</b> contains a bit mask of activated options. The default is 0, so -by default no options are activated. The following options exist: -<ul> -<li> -<b>0x0001</b>: hide members of lb workers -</li> -<li> -<b>0x0002</b>: hide URL maps -</li> -<li> -<b>0x0004</b>: hide the legend -</li> -<li> -<b>0x0008</b>: hide load balancer workers -</li> -<li> -<b>0x0010</b>: hide ajp workers -</li> -<li> -<b>0x0020</b>: only allow read_only actions for a read/write status worker. -</li> -<li> -<b>0x0040</b>: hide load balancer configuration -</li> -<li> -<b>0x0080</b>: hide load balancer status summary -</li> -<li> -<b>0x0100</b>: hide configuration for ajp and load balancer member workers -</li> -</ul> -Values 0x0040-0x0100 have been added in version 1.2.27. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Data Parameters for the standard Update Action"><strong>Data Parameters for the standard Update Action</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -You can use the edit action with a final click to the update button, to change settings of workers. -But you can also make direct calls to the update action. The following request parameters -contain the configuration information, you want to change. First the list for load balancer workers: -<ul> -<li> -<b>vlr</b>: retries (number) -</li> -<li> -<b>vlt</b>: recover_time (seconds) -</li> -<li> -<b>vlee</b>: error_escalation_time (seconds) -</li> -<li> -<b>vlx</b>: max_reply_timeouts (number) -</li> -<li> -<b>vls</b>: sticky_session (0/f/n/off=off, 1/t/y/on=on; case insensitive) -</li> -<li> -<b>vlf</b>: sticky_session_force (0/f/n/off=off, 1/t/y/on=on; case insensitive) -</li> -<li> -<b>vlm</b>: method (0/r="Requests", 1/t="Traffic", 2/b="Busyness", 3/s="Sessions"; case insensitive, only first character is used) -</li> -<li> -<b>vll</b>: lock (0/o="Optimistic", 1/p="Pessimistic"; case insensitive, only first character is used) -</li> -</ul> -And now the list of parameters you can use to change settings for load balancer members: -<ul> -<li> -<b>vwa</b>: activation flag (0/a="active", 1/d="disabled", 2/s="stopped"; case insensitive, only first character is used) -</li> -<li> -<b>vwf</b>: load balancing factor (integer weight) -</li> -<li> -<b>vwn</b>: route for use with sticky sessions (string) -</li> -<li> -<b>vwr</b>: redirect to define simple failover rules (string) -</li> -<li> -<b>vwc</b>: domain to tell JK about your replication design (string) -</li> -<li> -<b>vwd</b>: distance to express preferences (integer) -</li> -</ul> -Finally the list of parameters you can use to change settings for ajp workers and ajp load balancer members: -<ul> -<li> -<b>vahst</b>: host (string) -</li> -<li> -<b>vaprt</b>: port (number) -</li> -<li> -<b>vacpt</b>: connection_pool_timeout (number) -</li> -<li> -<b>vact</b>: connect_timeout (number) -</li> -<li> -<b>vapt</b>: prepost_timeout (number) -</li> -<li> -<b>vart</b>: reply_timeout (number) -</li> -<li> -<b>var</b>: retries (number) -</li> -<li> -<b>varo</b>: recovery_options (number) -</li> -<li> -<b>vamps</b>: max_packet_size (number) -</li> -</ul> -Note that changing the host name or port will only take effect for new connections. -Already established connections to the old address will still be used. -Nevertheless this feature is interesting, because you can provision load balancer -members with port "0", which will automatically be stopped during startup. Later -when you know the final names and ports, you can set them and they will be -automatically activated. -</p> -<p> -The leading character "v" has been added to the parameters in version 1.2.27. -Changing settings for ajp workers has also been introduced in version 1.2.27. -</p> -<p> -For the details of all parameters, we refer to the <a href="workers.html">workers.properties Reference</a>. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Aspect Editing for Load Balancer Members"><strong>Aspect Editing for Load Balancer Members</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -You can use the edit action to edit all settings for a load balancer or for a -member of a load balancer respectively on one page. If you want to edit one -configuration aspect for all members of a load balancer simultaneously, this -will be triggered by the parameter <b>att</b>. The value of the parameter indicates, -which aspect you want to edit. The list is the same as in the previous section, -except for "vahst" and "vaprt": -"vwa", "vwf", "vwn", "vwr", "vwc", "vwd", "vacpt", "vact", "vapt", "vart", "var", -"varo" and "vamps". But here you -need to put the name into the parameter <b>att</b>, instead of using it as a request -parameter name. -</p> -<p> -The values of the common aspect for all the load balancer members will be given -in parameters named "val0", "val1", .... -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2011, Apache Software Foundation - </em></font></div></td></tr></table></body></html>
\ No newline at end of file diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/uriworkermap.html b/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/uriworkermap.html deleted file mode 100644 index 3bc39256..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/uriworkermap.html +++ /dev/null @@ -1,377 +0,0 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connector - Reference Guide - uriworkermap.properties configuration</title><meta name="author" value="Rainer Jung"><meta name="email" value="rjung@apache.org"><meta name="author" value="Mladen Turk"><meta name="email" value="mturk@apache.org"><link href="../../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left"><table border="0" width="100%" cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connector - Reference Guide</h1><h2>uriworkermap.properties configuration</h2></td><td align="right" valign="top" nowrap="true"><img src="../../images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The forwarding of requests from the web server to tomcat gets configured by defining mapping rules. -Such a rule maps requests to workers. The request part of the map is described by a URI pattern, -the worker by it's worker name. -</p> -<p> -The so-called <b>uriworkermap</b> file is a mechanism of defining rules, -which works for all web servers. There exist also other web server specific configuration -options for defining rules, which will be mostly discussed on the reference pages for -configuring tomcat connectors for the individual web servers. -</p> -<p> -The name of the file is usually uriworkermap.properties, -although this is configurable in the web server. -Please consult the web server specific documentation pages on -how to enable the uriworkermap file. -</p> -<p> -The main features supported by the uriworkermap file are -<ul> -<li> -Support for comments in the rule file. -</li> -<li> -Exact and wildchar matches, shortcuts to map a directory and all including content. -</li> -<li> -Exclusion rules, disabling of rules and rule priorities. -</li> -<li> -Rule extensions, modifying worker behaviour per rule. -</li> -<li> -Virtual host integration: uri mapping rules can be expressed per virtual host. -The details are web server specific though. -</li> -<li> -Dynamic reloading: The file gets checked periodically for changes. -New versions are automatically reloaded without web server restarts. -</li> -<li> -Integration with the status worker. -</li> -</ul> -The following sections describe these aspects in more detail. -</p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Syntax"><strong>Syntax</strong></a></font></td></tr><tr><td><blockquote> -<br> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Line format"><strong>Line format</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The file has a line based format. There are no continuation characters, -so each rule needs to be defined on a single line. Each rule is a pair consisting -of a URI pattern and a worker name, combined by an equals sign '=': -<div class="example"><pre> - /myapp=myworker -</pre></div> -The URI pattern is case sensitive. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Comments, white space"><strong>Comments, white space</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -All text after and including the character '#' gets ignored and can be used for comments. -Leading and trailing white space gets trimmed around the URI pattern and also around the worker name. -The following definitions are all equivalent: -<div class="example"><pre> - # This is a white space example - /myapp=myworker - /myapp=myworker - /myapp = myworker -</pre></div> -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="URI patterns"><strong>URI patterns</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Inside the URI pattern three special characters can be used, '*', '?' and '|'. -The character '*' is a wildchar that matches any number of arbitrary characters -in the URI, '?' matches exactly one character. -Each URI pattern has to start with the character '/', or with '*' or with '?', -optionally prefixed by any combination of the modifiers '!' and '-' (see next section). -<div class="example"><pre> - # Mapping the URI /myapp1 and everything under /myapp1/: - /myapp1=myworker-a - /myapp1/*=myworker-a - # Mapping all URI which end with a common suffix: - *.jsp=myworker - *.do=myworker -</pre></div> -Since the first case of mapping a certain location and everything inside -it is very common, the character '|' gives a handy shortcut: -<div class="example"><pre> - # Mapping the URI /myapp1 and everything under /myapp1/: - /myapp1|/*=myworker-a -</pre></div> -The pattern 'X|Y' is exactly equivalent to the two maps 'X' and 'XY'. -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Exclusion, Disabling and Priorities"><strong>Exclusion, Disabling and Priorities</strong></a></font></td></tr><tr><td><blockquote> -<br> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Exclusions and rule disabling"><strong>Exclusions and rule disabling</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Exclusion rules allows to define exclusions from URI rules, which would forward -requests to tomcat. If the exclusion rule matches, the request will not be forwarded. -This is usually used to serve static content by the web server. -A rule is an exclusion rule, if it is suffixed with '!': -<div class="example"><pre> - # Mapping the URI /myapp and everything under /myapp/: - /myapp|/*=myworker - # Exclude the subdirectory static: - !/myapp/static|/*=myworker - # Exclude some suffixes: - !*.html=myworker -</pre></div> -An exclusion rule overrides a normal mapping rule only, if the worker names in the -normal rule and in the exclusion rule are the same. Starting with version 1.2.26 of JK -you can apply an exclusion rule to any worker, by using the star character '*' as -the worker name in the exclusion rule. -More complex patterns in exclusion worker names are not allowed. -<div class="example"><pre> - # Mapping the webapps /myapp1 and /myapp2: - /myapp1|/*=myworker1 - /myapp2|/*=myworker2 - # Exclude the all subdirectories static for all workers: - !/*/static|/*=* - # Exclude some suffixes for all workers: - !*.html=* -</pre></div> -</p> -<p> -Rule disabling comes into play, if your web server merges rules from various sources, -and you want to disable any rule defined previously. Since the uriworkermap file gets -reloaded dynamically, you can use this to temporarily disable request forwarding: -A rule gets disabled, if it is suffixed with '-': -<div class="example"><pre> - # We are not in maintenance. - # The maintenance rule got defined somewhere else. - -/*=maintenance -</pre></div> -Exclusion rules can get disabled as well, then the rule starts with '-!'. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Mapping priorities"><strong>Mapping priorities</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The most restrictive URI pattern is applied first. More precisely the URI patterns are -sorted by the number of '/' characters in the pattern (highest number first), and -rules with equal numbers are sorted by their string length (longest first). -</p> -<p> -If both distinctions still do not suffice, then the defining source of the rule is considered. -Rules defined in uriworkermap.properties come first, before rules defined by JkMount (Apache) -and inside workers.properties using the mount attribute. -</p> -<p> -All disabled rules are ignored. Exclusion rules are applied after all normal rules -have been applied. -</p> -<p> -There is no defined behaviour, for the following configuration conflict: -using literally the same URI pattern in the same defining source but with -different worker targets. -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Rule extensions"><strong>Rule extensions</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Rule extensions were added in version 1.2.27 and are not available in earlier versions. -</p> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Syntax"><strong>Syntax</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Rule extensions are additional attributes, that can be attached to any rule. -They are added at the end of the rule, each extension separated by a semicolon: -<div class="example"><pre> - # This is an extension example, - # setting a reply_timeout of 1 minute - # only for this mapping. - /myapp=myworker;reply_timeout=60000 - # - # This is an example using multiple extensions - /myapp=myloadbalancer;reply_timeout=60000;stopped=member1 -</pre></div> -Attributes set via rule extensions always overwrite conflicting -configurations in the worker definition file. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Extension reply_timeout"><strong>Extension reply_timeout</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The extension <b class="code">reply_timeout</b> sets a reply timeout for a single mapping rule. -<div class="example"><pre> - # Setting a reply_timeout of 1 minute - # only for this mapping. - /myapp=myworker;reply_timeout=60000 -</pre></div> -It overrides any <b class="code">reply_timeout</b> defined for the worker. The extension allows -to set a reasonable default reply timeout to the worker, and a more relaxed -reply timeout to URLs, which are known to start time intensive tasks. -For a general description of reply timeouts see the -<a href="../../generic_howto/timeouts.html#Reply Timeout">timeouts</a> documentation. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Extensions active/disabled/stopped"><strong>Extensions active/disabled/stopped</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The extensions <b class="code">active</b>, <b class="code">disabled</b>, and <b class="code">stopped</b> -can be used in a load balancer mapping rule to set selected members -of the load balancer into a special activation state. -<div class="example"><pre> - # Stop forwarding only for member1 of loadbalancer - /myapp=myloadbalancer;stopped=member1 -</pre></div> -Multiple members must be separated by commas or white space: -<div class="example"><pre> - # Stop forwarding for member01 and member02 of loadbalancer - # Disable forwarding for member21 and member22 of loadbalancer - /myapp=myloadbalancer;stopped=member01,member02;disabled=member21,member22 -</pre></div> -For the precise meaning of the activation states see the description of -<a href="../../reference/workers.html#Advanced Worker Directives">activation</a>. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Extension fail_on_status"><strong>Extension fail_on_status</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The extension <b class="code">fail_on_status</b> can be used in any rule: -<div class="example"><pre> - # Send 503 instead of 404 and 500, - # and if we get a 503 also set the worker to error - /myapp=myworker;fail_on_status=-404,-500,503 -</pre></div> -Multiple status codes must be separated by commas. -For the precise meaning of the attribute see the description of -<a href="../../reference/workers.html#Advanced Worker Directives">fail_on_status</a>. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Extension use_server_errors"><strong>Extension use_server_errors</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The extension <b class="code">use_server_errors</b> allows to let the web server -send an error page, instead of the backend (e.g. Tomcat) error page. -This is useful, if one wants to send customized error pages, but those are -not part of all web applications. They can then be put onto the web server. -</p> -<p> -The value of <b class="code">use_server_errors</b> is a positive number. -Any request send to the backend, that returns with an http status -code bigger or equal to <b class="code">use_server_errors</b>, will -be answered to the client with the error page of the web server -for this status code. -<div class="example"><pre> - # Use web server error page for all errors - /myapp=myworker;use_server_errors=400 - # Use web server error page only for technical errors - /myotherapp=myworker;use_server_errors=500 -</pre></div> -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Virtual host integration"><strong>Virtual host integration</strong></a></font></td></tr><tr><td><blockquote> -<br> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="IIS"><strong>IIS</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -When using IIS you can restrict individual rules to special virtual hosts -by prefixing the URI pattern with the virtual host information. -The rules is that the url must be prefixed with the host name. -<div class="example"><pre> - # Use www.foo.org as virtual host - /www.foo.org/myapp/*=myworker - # Use www.bar.org as virtual host - /www.bar.org/myapp/*=myworker - # Normal mapping - /mysecondapp/*=myworker -</pre></div> -</p> -<p> -Note that /mysecondapp/* will be mapped to all virtual hosts present. -In case one needs to prevent the mappings to some particular virtual host then -the exclusion rule must be used -<div class="example"><pre> - # Make sure the myapp is accessible by all virtual hosts - /myapp/*=myworker - # Disable mapping myapp for www.foo.org virtual host - !/www.foo.org/myapp/*=myworker -</pre></div> -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Apache httpd"><strong>Apache httpd</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -For Apache you can define individual uriworkermap files per virtual host. -The directive JkMountFile can be used in the main server and in each virtual host. -If a virtual host does not use JkMountfile, but JkMountCopy is set to 'On', -then it inherits the JkMountFile from the main server. If you want all vhost to inherit -mounts from the main server, you can set JkMountCopy to 'All' in the main server. -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Dynamic reloading"><strong>Dynamic reloading</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -When a request is being processed, tomcat connectors check the file modification time -of the uriworkermap file. To keep the performance penalty low, this happens only, -if the last check happened at least n seconds ago. -</p> -<p> -For Apache you can configure the interval "n" using the directive JkMountFileReload, -for IIS you would use the attribute worker_mount_reload. -The default value is 60 seconds. A value of "0" turns off the reloading. -</p> -<p> -If the file changed, it gets reloaded completely. If there exist rules coming -from other sources than the uriworkermap file (e.g. the workers.properties mount -attribute or JkMount with Apache httpd), the new uriworkermap file gets dynamically -merged with these ones exactly like when you do a web server restart. -</p> -<p> -Until version 1.2.19 reloading behaved slightly differently: it continuously added -the full contents of the uriworkermap file to the rule mapping. The merging rules -were, that duplicated got eliminated and old rules could be disabled, by defining the -rule as disabled in the new file. Rules never got deleted. -</p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Status worker integration"><strong>Status worker integration</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The configuration view of the status worker also shows the various mapping rules. -After each worker's configuration, the rules are listed, that forward to this worker. -The list contains four columns: -<ul> -<li> -the name of the virtual server -</li> -<li> -the URI pattern, prefixed with '-' for a disabled pattern and '!' for an exclusion pattern -</li> -<li> -the type of the rule: Exact or Wildchar -</li> -<li> -and the source of the rule definition: 'worker definition' for the workers.properties file (mount attribute), -'JkMount' for Apache httpd JkMount and it's relatives and finally 'uriworkermap' for the uriworkermap file. -</li> -</ul> -</p> -<p> -<b>Note: </b>The following restriction has been removed starting with version 1.2.26. -<br> -For Apache httpd, there is an important subtlety: the request going to the status worker -gets executed in the context of some server (main or virtual). The status worker will only show the -mapping rules, that are defined for this server (main or virtual). -<br> -Until version 1.2.25 the list contained three columns: -<ul> -<li> -the type of the rule: Exact or Wildchar, eventually prefixed with Disabled or Unmount (for exclusion rules) -</li> -<li> -the URI pattern -</li> -<li> -and the source of the rule definition: 'worker definition' for the workers.properties file (mount attribute), -'JkMount' for Apache httpd JkMount and it's relatives and finally 'uriworkermap' for the uriworkermap file. -</li> -</ul> -</p> -</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2011, Apache Software Foundation - </em></font></div></td></tr></table></body></html>
\ No newline at end of file diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/workers.html b/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/workers.html deleted file mode 100644 index b2f423a9..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/printer/workers.html +++ /dev/null @@ -1,1000 +0,0 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connector - Reference Guide - workers.properties configuration</title><meta name="author" value="Mladen Turk"><meta name="email" value="mturk@apache.org"><link href="../../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left"><table border="0" width="100%" cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connector - Reference Guide</h1><h2>workers.properties configuration</h2></td><td align="right" valign="top" nowrap="true"><img src="../../images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -A <b>Tomcat worker</b> is a Tomcat instance that is waiting to execute servlets or any other content -on behalf of some web server. For example, we can have a web server such as -Apache forwarding servlet requests to a Tomcat process (the worker) running behind it. -</p> -<p> -The scenario described above is a very simple one; -in fact one can configure multiple Tomcat workers to serve servlets on -behalf of a certain web server. -The reasons for such configuration can be: -</p> -<ul> -<li> -We want different contexts to be served by different Tomcat workers to provide a -development environment where all the developers share the same web server but -own a Tomcat worker of their own. -</li> -<li> -We want different virtual hosts served by different Tomcat processes to provide a -clear separation between sites belonging to different companies. -</li> -<li> -We want to provide load balancing, meaning run multiple Tomcat workers each on a -machine of its own and distribute the requests between them. -</li> -</ul> - -<p> -There are probably more reasons for having multiple workers but I guess that this list is enough... -</p> -<p> -Tomcat workers are defined in a properties file dubbed <b>workers.properties</b> and this tutorial -explains how to work with it. -</p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Configuration File Basics"><strong>Configuration File Basics</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>Defining workers to the Tomcat web server plugin can be done using a properties file -(a sample file named workers.properties is available in the conf/ directory). -</p> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Format, Comments, Whitespace"><strong>Format, Comments, Whitespace</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The lines in the file define properties. The general format is -</p> -<p><strong><name>=<value></strong></p> -<p> -</p> -Dots are used as part of the name to represent a configuration hierarchy. -<p> -Invalid directives will be logged during web server startup and prevent the web server -from working properly. Some directives have been deprecated. Although they will -still work, you should replace them by their -<a href="#Deprecated Worker Directives">successors</a>. -</p> -<p> -Some directives are allowed multiple times. This will be explicitly -noted in the tables below. -</p> -<p> -Whitespace at the beginning and the end of a property name or value gets ignored. -Comments can be placed in any line and start with a hash sign '#'. -Any line contents behind the hash sign get ignored. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Global Properties"><strong>Global Properties</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -These directives have global scope. -</p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>worker.list</code></strong></td><td align="center" valign="center"><code>ajp13</code></td><td align="left" valign="center"> -A comma separated list of workers names that the JK will use. When starting up, -the web server plugin will instantiate the workers whose name appears in the -worker.list property, these are also the workers to whom you can map requests. -<p> -This directive can be used multiple times. -</p> -</td></tr><tr><td align="left" valign="center"><code>worker.maintain</code></td><td align="center" valign="center"><code>60</code></td><td align="left" valign="center"> -Worker connection pool maintain interval in seconds. If set to the positive -value JK will scan all connections for all workers specified in worker.list -directive and check if connections needs to be recycled. -<p> -Furthermore any load balancer does a global maintenance every worker.maintain -seconds. During global maintenance load counters are decayed and workers -in error are checked for recover_time. -</p> -<p> -This feature has been added in <b>jk 1.2.13</b>. -</p> -</td></tr></table> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Worker Properties"><strong>Worker Properties</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Each worker configuration directive consists of three words separated by a dot: -</p> -<p><strong>worker.<worker name>.<directive>=<value></strong></p> -<p> -The first word is always <b>worker</b>. -The second word is the worker name you can choose. In the case of load-balancing, -the worker name has an additional meaning. Please consult the -<a href="../../generic_howto/loadbalancers.html">Load Balancer HowTo</a>. -</p> -<p><font color="#ff0000"> -The name of the worker can contain only the alphanumeric characters -<b>[a-z][A-Z][0-9][_\-]</b> and is case sensitive. -</font></p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Variables, Environment Variables"><strong>Variables, Environment Variables</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -You can define and use variables in the workers.properties file. -To define a variable you use the syntax: -</p> -<p><strong><variable_name>=<value></strong></p> -<p> -Dots are allowed in the variable name, but you have to be careful -not to use variable names, that clash with standard directives. -Therefore variable names should never start with "worker.". -</p> -<p> -To use a variable, you can insert "$(variable_name)" at any place -on the value side of a property line. If a variable has not been -defined before its use, we will search the process environment for -a variable with the same name and use their value. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Property Inheritance"><strong>Property Inheritance</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>Often one wants to use the same property values for various workers. -To reduce duplication of configuration lines and to ease the maintenance of -the file, you can inherit properties from one worker to another, or even -from a template to real workers. -</p> -<p> -The directive "reference" allows to copy configurations between workers -in a hierarchical way. If worker castor sets <b>worker.castor.reference=worker.pollux</b> -then it inherits all properties of <b>pollux</b>, except for the ones that -are explicitly set for <b>castor</b>. -</p> -<p> -Please note, that the value of the directive is not only the name of the referred worker, -but the complete prefix including "worker.". -</p> -<p> -To use a template worker simply define it like a real worker, but do not add it -to the "worker.list" or as a member to any load balancer. Such a template worker -does not have to contain mandatory directives. This approach is especially useful, -if one has a lot of balanced workers in a load balancer -and these workers share most of their properties. You can set all of these properties -in a template worker, e.g. using the prefix "worker.template1", and then simply -reference those common properties in all balanced workers. -</p> -<p> -References can be used to inherit properties over multiple hops in a hierarchical way. -</p> -<p> -This feature has been added in <b>jk 1.2.19</b>. -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="List of All Worker Directives"><strong>List of All Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Mandatory Directives"><strong>Mandatory Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>Mandatory directives are the one that each worker <b>must</b> contain. Without them the worker will -be unavailable or will misbehave. Those directives will be marked with a <strong>strong</strong> font in the following tables. -</p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>type</code></strong></td><td align="center" valign="center"><code>ajp13</code></td><td align="left" valign="center"> -Type of the worker (can be one of ajp13, ajp14, jni, lb or status). The type of the worker -defines the directives that can be applied to the worker. -<p>AJP13 worker is the preferred worker type that JK uses for communication -between web server and Tomcat. This type of worker uses sockets as communication -channel. For detailed description of the AJP13 protocol stack browse to -<a href="../../ajp/ajpv13a.html">AJPv13 protocol specification</a> -</p> -<p><font color="#ff0000">JNI workers have been deprecated. They will likely not work. Do not use them.</font></p> -</td></tr></table> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Connection Directives"><strong>Connection Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>Connection directives defines the parameters needed to connect and maintain -the connections pool of persistent connections between JK and remote Tomcat. -</p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>host</code></td><td align="center" valign="center"><code>localhost</code></td><td align="left" valign="center"> -Host name or IP address of the backend Tomcat instance. The remote Tomcat must -support the ajp13 protocol stack. The host name can have a <b>port</b> number -embedded separated by the colon (':') character. -</td></tr><tr><td align="left" valign="center"><code>port</code></td><td align="center" valign="center"><code>8009</code></td><td align="left" valign="center"> -Port number of the remote Tomcat instance listening for defined protocol requests. -The default value depends on the worker type. For AJP13 workers the default port is -<b>8009</b>, while for AJP14 type of worker that value is <b>8011</b>. -</td></tr><tr><td align="left" valign="center"><code>socket_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Socket timeout in seconds used for the communication channel between JK and remote host. -If the remote host does not respond inside the timeout specified, JK will generate an error, -and retry again. If set to zero (default) JK will wait for an infinite amount of time -on all socket operations. -</td></tr><tr><td align="left" valign="center"><code>socket_connect_timeout</code></td><td align="center" valign="center"><code>socket_timeout*1000</code></td><td align="left" valign="center"> -Socket connect timeout in milliseconds used for the communication channel between JK and remote host. -If the remote host does not respond inside the timeout specified, JK will generate an error, -and retry again. -<p> -Note that <b class="code">socket_timeout</b> is in seconds, and -<b class="code">socket_connect_timeout</b> in milliseconds, -so in absolute terms the default <b class="code">socket_connect_timeout</b> is -equal to <b class="code">"socket_timeout</b>. -</p> -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>socket_keepalive</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -This directive should be used when you have a firewall between your webserver -and the Tomcat engine, who tend to drop inactive connections. This flag will tell the Operating System -to send <b class="code">KEEP_ALIVE</b> messages on inactive connections (interval depend on global OS settings, -generally 120 minutes), and thus prevent the firewall to cut inactive connections. -To enable keepalive set this property value to <b>True</b>. -<p> -The problem with Firewall cutting inactive connections is that sometimes, neither webserver or Tomcat -have information about the cut and couldn't handle it. -</p> -</td></tr><tr><td align="left" valign="center"><code>ping_mode</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -This flag determines, under which conditions established -connections are probed to ensure they are still working. -The probe is done with an empty AJP13 packet (CPing) and -expects to receive an appropriate answer (CPong) within -some timeout. -<p> -The value of the flag can be any combination of the following -flags (multiple values are combined without any separators): -</p> -<p><b>C</b> (connect): If set, the connection will -be probed once after connecting to the backend. The timeout -can be set by <b class="code">connect_timeout</b>. If it is not set, -the value of <b class="code">ping_timeout</b> will be used instead. -</p> -<p><b>P</b> (prepost): If set, the connection will -be probed before sending each request to the backend. The timeout -can be set by <b class="code">prepost_timeout</b>. If it is not set, -the value of <b class="code">ping_timeout</b> will be used instead. -</p> -<p><b>I</b> (interval): If set, the connection will -be probed during the regular internal maintenance cycle, -but only if it is idle longer than -<b class="code">connection_ping_interval</b>. The timeout -can be set by <b class="code">ping_timeout</b>. -</p> -<p><b>A</b> If set, all of the above probes will be used. -</p> -<p> -This feature has been added in <b>jk 1.2.27</b>. Connect and -prepost probing were already available via <b class="code">connect_timeout</b> -and <b class="code">prepost_timeout</b> since version <b>jk 1.2.6</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>ping_timeout</code></td><td align="center" valign="center"><code>10000</code></td><td align="left" valign="center"> -Timeout in milliseconds used when waiting for the CPong answer of a -CPing connection probe. The activation of the probes is done via -<b class="code">ping_mode</b>. The timeouts for <b class="code">ping_mode</b> -connect and prepost can be overwritten individually via -<b class="code">connect_timeout</b> and <b class="code">prepost_timeout</b>. -<p> -For compatibility reasons, CPing/CPong is also used, whenever -<b class="code">connect_timeout</b> or <b class="code">prepost_timeout</b> are set, -even if <b class="code">ping_mode</b> is empty. -</p> -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>connection_ping_interval</code></td><td align="center" valign="center"><code>0 / (ping_timeout/1000)*10</code></td><td align="left" valign="center"> -When using interval connection probing, connections idle for longer than this -interval in seconds are probed by CPing packets whether they still work. -<p>Interval probing can be activated either by <b class="code">ping_mode</b>, -or by setting <b class="code">connection_ping_interval</b> to some value bigger -than zero. If you activate interval probing via <b class="code">ping_mode</b>, -then the default value of <b class="code">connection_ping_interval</b> is -<b class="code">(ping_timeout/1000) * 10</b>. Note that <b class="code">ping_timeout</b> -is in milliseconds, and <b class="code">connection_ping_interval</b> in seconds, -so in absolute terms the default <b class="code">connection_ping_interval</b> is -10 times <b class="code">ping_timeout</b>. -</p> -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>connection_pool_size</code></td><td align="center" valign="center"><code>see text</code></td><td align="left" valign="center"> -This defines the number of connections made to the AJP backend that -are maintained as a connection pool. -It will limit the number of those connection that each web server child -process can made. -<p> -Connection pool size property is only used for multi threaded -web servers such as Apache, IIS and Netscape/Sun. The connection_pool_size property -needs to reflect the number of requests one web server process should -be able to send to a backend in parallel. Usually this is the same as -the number of threads per web server process. JK will discover -this number for the Apache web server automatically and set the pool size to -this value. For IIS the default value is 250 (before version 1.2.20: 10), -for Netscape/Sun the default value is 1. -</p> -<p>We strongly recommend adjusting this value for IIS and the Netscape/Sun -to the number of requests one web server process should -be able to send to a backend in parallel. You should measure how many connections -you need during peak activity without performance problems, and then add some -percentage depending on your growth rate. Finally you should check, -whether your web server processes are able to use at least as many threads, -as you configured as the pool size. -</p> -<p><font color="#ff0000">Do not use connection_pool_size with values higher then 1 on <b>Apache 2.x prefork</b> or <b>Apache 1.3.x</b>!</font></p> -</td></tr><tr><td align="left" valign="center"><code>connection_pool_minsize</code></td><td align="center" valign="center"><code>(pool+1)/2</code></td><td align="left" valign="center"> -Minimum size of the connection pool that will be maintained. -<p> -Its default value is (connection_pool_size+1)/2. -</p> -<p><font color="#ff0000">Do not use connection_pool_size with values higher then 1 on <b>Apache 2.x prefork</b> or <b>Apache 1.3.x</b>!</font></p> -<p> -This feature has been added in <b>jk 1.2.16</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>connection_pool_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Cache timeout property should be used with <b>connection_pool_minsize</b> to specify how many seconds JK should keep -an inactive socket in cache before closing it. This property should be used to reduce the number of threads -on the Tomcat web server. The default value zero disables the closing (infinite timeout). -<p> -Each child could open an ajp13 connection if it has to forward a request to Tomcat, creating -a new ajp13 thread on Tomcat side. -</p> -<p> -The problem is that after an ajp13 connection is created, the child won't drop it -until killed. And since the webserver will keep its childs/threads running -to handle high-load, even it the child/thread handle only static contents, you could -finish having many unused ajp13 threads on the Tomcat side. -</p> -<p> -You should keep this time interval in sync with the <b>connectionTimeout</b> attribute -of your AJP connector in Tomcat's server.xml. Note however, that the value -for mod_jk is given in seconds, the one in server.xml has to use milliseconds. -</p> -</td></tr><tr><td align="left" valign="center"><code>connection_acquire_timeout</code></td><td align="center" valign="center"><code>retries*retry_interval</code></td><td align="left" valign="center"> -Timeout the worker will wait for a free socket in cache before giving up. -<p> -Its default value is <b>retries * retry_interval</b>. -</p> -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>lbfactor</code></td><td align="center" valign="center"><code>1</code></td><td align="left" valign="center"> -Only used for a member worker of a load balancer. -<p> -The integer number lbfactor (load-balancing factor) is -<i>how much we expect this worker to work</i>, or -<i>the worker's work quota</i>. Load balancing factor is compared with other workers -that makes the load balancer. For example if one worker has lb_factor 5 times higher then -other worker, then it will receive five times more requests. -</p> -</td></tr></table> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Load Balancing Directives"><strong>Load Balancing Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>Load balancer is a virtual worker that does not really communicate with Tomcat workers. -Instead it is responsible for the management of several "real" workers. -The worker is supposed to be a load balancer if it's worker type is <b>lb</b>. -See worker's <b>type</b> directive. -</p> -<p>Loadbalancer directives define the parameters needed to create the workers that are -connecting to a remote cluster of backend Tomcat servers. Each cluster node has to -have a worker defined. -</p> -<p> -Load balancer management includes: -</p> - -<ul> -<li> -Instantiating the workers in the web server. -</li> -<li> -Using the worker's load-balancing factor, perform weighed-round-robin load balancing where -high lbfactor means stronger machine (that is going to handle more requests) -</li> -<li> -Keeping requests belonging to the same session executing on the same Tomcat worker. -</li> -<li> -Identifying failed Tomcat workers, suspending requests to them and instead fall-backing on -other workers managed by the lb worker. -</li> -</ul> - -<p> -The overall result is that workers managed by the same lb worker are load-balanced -(based on their lbfactor and current user session) and also fall-backed so a single -Tomcat process death will not "kill" the entire site. -</p> -<p><font color="#ff0000"> -If you want to use session stickiness, you must set different jvmRoute attributes -in the Engine element in Tomcat's server.xml. Furthermore the names of the workers -which are managed by the balancer have to be equal to the jvmRoute of the Tomcat -instance they connect with. -</font></p> -<p> -The restriction on the worker names can be lifted, if you use the route attribute for the workers. -</p> -<p> -The following table specifies properties that the lb worker can accept: -</p> - -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>balance_workers</code></strong></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -A comma separated list of workers that the load balancer -need to manage. -<p> -This directive can be used multiple times for the same load balancer. -</p> -<p> -This directive replaces old <b>balanced_workers</b> directive and -can be used only with mod_jk versions 1.2.7 and up. -</p> -<p><font color="#ff0000">As long as these workers should only be used via the load balancer worker, -there is no need to also put them into the <b>worker.list</b> property.</font></p> -</td></tr><tr><td align="left" valign="center"><code>sticky_session</code></td><td align="center" valign="center"><code>True</code></td><td align="left" valign="center"> -Specifies whether requests with SESSION ID's should be routed back to the same -Tomcat worker. If sticky_session is set to <b>True</b> or <b>1</b> sessions are sticky, otherwise -sticky_session is set to <b>False</b>. Set sticky_session to <b>False</b> when Tomcat -is using a Session Manager which can persist session data across multiple -instances of Tomcat. -</td></tr><tr><td align="left" valign="center"><code>sticky_session_force</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -Specifies whether requests with SESSION ID's for workers that are in error state -should be rejected. If sticky_session_force is set to <b>True</b> or <b>1</b> -and the worker that matches that SESSION ID is in error state, client will -receive 500 (Server Error). If set to <b>False</b> or <b>0</b> failover on -another worker will be issued with loosing client session. This directive is -used only when you set <b>sticky_session=True</b>. -<p> -This feature has been added in <b>jk 1.2.9</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>method</code></td><td align="center" valign="center"><code>Request</code></td><td align="left" valign="center"> -Specifies what method load balancer is using for electing the best worker. -Please note, that session stickiness and perfect load balancing are -conflicting targets, especially when the number -of sessions is small, or the usage of sessions is extremely varying -For huge numbers of sessions this usually is not a problem. -<p> -Some methods note, that they aggregate in a sliding time window. They add up -accesses, and on each run of the global maintain method, the load counters -get divided by 2. Usually this happens once a minute, depending on the -setting of worker.maintain. The value of the load counters can be inspected -using the status worker. -</p> -<p> -If method is set to <b>R[equest]</b> the balancer will use number of requests -to find the best worker. Accesses will be distributed according to the -lbfactor in a sliding time window. This is the default value and should be -working well for most applications. -</p> -<p> -If method is set to <b>S[ession]</b> the balancer will use number of sessions -to find the best worker. Accesses will be distributed according to the -lbfactor in a sliding time window. Because the balancer does not keep any state, -it actually does not know the number of sessions. Instead it counts each request -without a session cookie or URL encoding as a new session. This method will neither -know, when a session is being invalidated, nor will it correct its load numbers -according to session timeouts or worker failover. This method should be used, -if sessions are your limiting resource, e.g. when you only have limited memory -and your sessions need a lot of memory. -</p> -<p> -If set to <b>T[raffic]</b> the balancer will use -the network traffic between JK and Tomcat to find the best worker. -Accesses will be distributed according to the lbfactor in a sliding time window. -This method should be used, if network to and from the backends is your -limiting resource. -</p> -<p> -If set to <b>B[usyness]</b> the balancer will -pick the worker with the lowest current load, based on how many requests the -worker is currently serving. This number is divided by the workers lbfactor, -and the lowest value (least busy) worker is picked. This method is especially -interesting, if your request take a long time to process, like for a download -application. -</p> -<p> -This feature has been added in <b>jk 1.2.9</b>. -The Session method has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>lock</code></td><td align="center" valign="center"><code>Optimistic</code></td><td align="left" valign="center"> -Specifies what lock method the load balancer will use for synchronising -shared memory runtime data. -If lock is set to <b>O[ptimistic]</b> balancer will not use shared memory lock -to find the best worker. If set to <b>P[essimistic]</b> balancer will use -shared memory lock. The balancer will work more accurately in case of -Pessimistic locking, but can slow down the average response time. -<p> -This feature has been added in <b>jk 1.2.13</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>retries</code></td><td align="center" valign="center"><code>2</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive also exists for normal workers. -For those it has a <a href="#Advanced Worker Directives">different meaning</a>.</font></p> -If the load balancer can not get a valid member worker or in case of failover, -it will try again a number of times given by <b>retries</b>. -Before each retry, it will make a pause define by <b>retry_interval</b> directive. -<p> -Until version <b>1.2.16</b> the default value was 3. -</p> -</td></tr></table> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Status Worker Directives"><strong>Status Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The status worker does not communicate with Tomcat. -Instead it is responsible for the load balancer management. -</p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>css</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -Specifies the url for cascading stylesheet to use. -</td></tr><tr><td align="left" valign="center"><code>read_only</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -A status worker with read_only=True will not allow any operations, -that change the runtime state or configuration of the other workers. -These are edit/update/reset/recover. -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>user</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -It is a list of users -which gets compared to the user name authenticated by the web server. -If the name is not contained in this list, access is denied. Per -default the list is empty and then access is allowed to anybody. -<p> -This directive can be used multiple times. -</p> -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>user_case_insensitive</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -By default, the user names are matched case sensitively. You can set -user_case_insensitive=True to make the comparison case insensitive. -This may be especially useful on the Windows platform. -<p> -This feature has been added in <b>jk 1.2.21</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>good</code></td><td align="center" valign="center"><code>a.o,a.n,a.b,a.r</code></td><td align="left" valign="center"> -For every load balancer worker, the status worker shows a summary -of the state of its members. There are three such states, -"good", "bad" and "degraded". -<p> -These states are determined depending on the activation of the members -(active, disabled, stopped) and their runtime state -(ok, n/a, busy, recovering, probing, forced recovery, error). -By default, members are assumed to be "good", if their activation -is "active" and their runtime state is not "error". -</p> -<p> -You can change this mapping, by assigning a list of values to the -attribute "good". Each value gives a possible match for the members, -and one match suffices. Each value is either a single character, or two -characters combined with a dot ".". The single characters are the -first characters in the words "active", "disabled", "stopped", -"ok", "na", "busy", "recovering", "error". The additional states "probing" -and "forced recovery" are always rated equivalent to "recovering". -If a value consists only -of a single character, then all members with this activation or runtime -state will be assumed good. A combination of an activation and a runtime -state concatenated with a dot "." does only apply to a member, that has -exactly this activation and state. -</p> -<p> -Members of a load balancer will first be matched against the state "bad", -if they don't match, the state "good" will be tried, and if they -still don't match, their state will be "degraded". -</p> -<p> -This directive can be used multiple times. -</p> -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>bad</code></td><td align="center" valign="center"><code>s,e</code></td><td align="left" valign="center"> -See: "good". -<p> -By default, members are assumed to be "bad", if their activation -is "stopped" or their runtime state is "error". -</p> -<p> -This directive can be used multiple times. -</p> -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>prefix</code></td><td align="center" valign="center"><code>worker</code></td><td align="left" valign="center"> -The prefix, which will be used by the status worker -when producing properties output (mime=prop). -Each property key will be prefixed by this value. -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>ns</code></td><td align="center" valign="center"><code>jk:</code></td><td align="left" valign="center"> -This directive can be used to customise the XML output from the -status worker. If set to <b>-</b> no namespace will be used. -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>xmlns</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -This directive can be used to customise the XML output from the -status worker. If set to <b>-</b> no xmlns will be used. -<p> -Default value is set to xmlns:jk="http://tomcat.apache.org" -</p> -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>doctype</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -This directive can be used to customise the XML output from the -status worker. This value will be inserted to the output xml -after the xml header. -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr></table> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Advanced Worker Directives"><strong>Advanced Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -This table lists more advanced configuration options. Most of them only apply to -some types of workers. We use the abbreviations <b>AJP</b> for ajp13/ajp14 workers -used directly via the workers.list, <b>LB</b> for load balancer workers, -and <b>SUB</b> for the workers used indirectly in a load balancer worker -as a sub worker or member. -</p> -<table border="1" cellpadding="5"><tr><th width="10%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Worker Type</font></th><th width="8%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="72%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>connect_timeout</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Connect timeout property told webserver to send a PING request on ajp13 connection after -connection is established. The parameter is the delay in milliseconds to wait for the PONG reply. -The default value zero disables the timeout (infinite timeout). -<p> -This features has been added in <b>jk 1.2.6</b> to avoid problem with hung Tomcat's and require ajp13 -ping/pong support which has been implemented on Tomcat <b>3.3.2+, 4.1.28+ and 5.0.13+</b>. -Disabled by default. -</p> -</td></tr><tr><td align="left" valign="center"><code>prepost_timeout</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Prepost timeout property told webserver to send a PING request on ajp13 connection before -forwarding to it a request. The parameter is the delay in milliseconds to wait for the PONG reply. -The default value zero disables the timeout (infinite timeout). -<p> -This features has been added in <b>jk 1.2.6</b> to avoid problem with hung Tomcat's and require ajp13 -ping/pong support which has been implemented on <b>Tomcat 3.3.2+, 4.1.28+ and 5.0.13+</b>. -Disabled by default. -</p> -</td></tr><tr><td align="left" valign="center"><code>reply_timeout</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -The parameter is the number of milliseconds to wait for success during a read event. -So this is not a timeout for the complete answer time of a request, but only -for the maximum time between two packets received from Tomcat. Usually the longest -pause is between sending the request and getting the first packet of the response. -<p> -If the timeout passes without any data received from Tomcat, the webserver will -no longer wait for the rest of the response and send an error to the client (browser). -Usually this does not mean, that the request is also aborted on the Tomcat backend. -If the worker is a member of a load balancer, the load balancer might place the -worker into an error state and retry the request on another member. -See also <b>max_reply_timeouts</b>, <b>retries</b> and <b>recovery_options</b>. -</p> -<p> -By default (value zero) the webserver will wait forever which could be an issue for you. -If you set a reply_timeout, adjust it carefully if you have long running servlets. -</p> -<p> -The reply_timeout can be overwritten using the Apache httpd environment variable -JK_REPLY_TIMEOUT. -</p> -<p> -This features has been added in <b>jk 1.2.6</b> to avoid problem with hung Tomcat's and works on all -servlet engines supporting ajp13. The variable JK_REPLY_TIMEOUT has been added in version <b>1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>retries</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>2</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive also exists for load balancer workers. -For those it has a <a href="#Load Balancing Directives">different meaning</a>.</font></p> -The maximum number of times that the worker will send a request to Tomcat -in case of a communication error. Each retry will be done over another -connection. The first time already gets counted, so retries=2 means -one retry after error. Before a retry, the worker waits for a configurable -sleeping time. -<p> -See also the attribute <b>recovery_options</b> for a more fine-grained control -of retries and <b>retry_interval</b> for the sleep time configuration. -</p> -<p> -Until version <b>1.2.16</b> the default value was 3. -</p> -</td></tr><tr><td align="left" valign="center"><code>retry_interval</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>100</code></td><td align="left" valign="center"> -The amount of time in milliseconds the worker sleeps before doing any retry. -<p> -This features has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>recovery_options</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Recovery options influence, how we should handle retries, -in case we detect a problem with Tomcat. -How often we will retry is controlled by the attribute <b>retries</b>. -<p> -This attribute is a bit mask. The following bits are allowed:<br> -1: don't recover if Tomcat failed after getting the request<br> -2: don't recover if Tomcat failed after sending the headers to client<br> -4: close the connection to Tomcat, if we detect an error when writing back -the answer to the client (browser)<br> -8: always recover requests for HTTP method HEAD (even if Bits 1 or 2 are set)<br> -16: always recover requests for HTTP method GET (even if Bits 1 or 2 are set)<br> -</p> -<p> -This features has been added in <b>jk 1.2.6</b>. -Option 4 has been added in version <b>1.2.16</b>, -options 8 and 16 in version <b>1.2.24</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>fail_on_status</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Set this value to the HTTP status code that will cause a worker to fail -if returned from Servlet container. Use this directive to deal with -cases when the servlet container can temporary return non-200 responses -for a short amount of time, e.g during redeployment. -<p> -The error page, headers and status codes of the original response will not be send back -to the client. Instead the request will result in a 503 response. -If the worker is a member of a load balancer, the member will -be put into an error state. Request failover and worker recovery will be handled -with the usual load balancer procedures. -</p> -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -<p> -Starting with <b>jk 1.2.22</b> it is possible to define multiple -status codes separated by space or comma characters. -For example: <b class="code">worker.xxx.fail_on_status=500,503</b> -</p> -<p> -Starting with <b>jk 1.2.25</b> you can also tell the load -balancer to not put a member into an error state, if a -response returned with one of the status codes in -fail_on_status. This feature gets enabled, by putting a minus sign in -front of those status codes. -For example: <b class="code">worker.xxx.fail_on_status=-404,-500,503</b> -</p> -</td></tr><tr><td align="left" valign="center"><code>max_packet_size</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>8192</code></td><td align="left" valign="center"> -This attribute sets the maximal AJP packet size in Bytes. -The maximum value is 65536. If you change it from the default, -you <b>must</b> also change the packetSize attribute of your AJP -connector on the Tomcat side! The attribute packetSize is only available -in Tomcat 5.5.20+ and 6.0.2+. -<p> -Normally it is not necessary to change the maximum packet size. Problems -with the default value have been reported when sending certificates or -certificate chains. -</p> -<p> -This feature has been added in <b>jk 1.2.19</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>mount</code></td><td align="left" valign="center"><code>AJP,LB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -Space delimited list of uri maps the worker should handle. It is only used, -if the worker is included in worker.list. -<p> -This directive can be used multiple times for the same worker. -</p> -</td></tr><tr><td align="left" valign="center"><code>secret</code></td><td align="left" valign="center"><code>AJP,LB,SUB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -You can set a secret keyword on the Tomcat AJP Connector. Then only requests -from workers with the same secret keyword will be accepted. -<p> -Use <b>request.secret="secret key word"</b> in your Tomcat AJP Connector configuration. -</p> -<p> -If you set a secret on a load balancer, all its members will inherit this secret. -</p> -<p> -This feature has been added in <b>jk 1.2.12</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>max_reply_timeouts</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -If you use a <b>reply_timeout</b> for the members of a load balancer worker, -and you want to tolerate a few requests taking longer than reply_timeout, -you can set this attribute to some positive value. -<p> -Long running requests will still time out after reply_timeout milliseconds waiting for -data, but the corresponding member worker will only be put into an error state, -if more than <b>max_reply_timeouts</b> requests have timed out. -More precisely, the counter for those bad requests will be divided by two, -whenever the load balancer does its internal maintenance (by default every 60 -seconds). -</p> -<p> -This features has been added in <b>jk 1.2.24</b> to make <b>reply_timeout</b> less -sensitive for sporadic long running requests. -</p> -</td></tr><tr><td align="left" valign="center"><code>recover_time</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>60</code></td><td align="left" valign="center"> -The recover time is the time in seconds the load balancer will not try -to use a worker, after it went into error state. Only after this time has passed, -a worker in error state will be marked as in recovering, so that it will be -tried for new requests. -<p> -This interval is not checked every time a request is being processed. -Instead it is being checked during global maintenance. The time between two -runs of global maintenance is controlled by worker.maintain. -</p> -<p> -Do not set recover_time to a very short time unless you understand the implications. -Every recovery attempt for a worker in error is done by a real request! -</p> -</td></tr><tr><td align="left" valign="center"><code>error_escalation_time</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>recover_time / 2</code></td><td align="left" valign="center"> -Setting a member of a load balancer into an error state is quite serious. E.g. -it means that if you need stickyness, all access to the sessions of the -respective node is blocked. -<p> -Some types of error detection do not provide a precise information, whether -a node is completely broken or not. In those cases an LB will not immediately -put the node into the error state. Only when there have been no successful -responses for <b>error_escalation_time</b> seconds after such an error, -will the node be put into error state. -</p> -<p> -This features has been added in <b>jk 1.2.28</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>activation</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>Active</code></td><td align="left" valign="center"> -Using this directive, a balanced worker of a load balancer -can be configured as disabled or stopped. A disabled worker only gets -requests, which belong to sessions for that worker. A stopped -worker does not get any requests. Users of a stopped worker will -loose their sessions, unless session replication via clustering is used. -<p> -Use <b>d</b> or <b>D</b> to disable and <b>s</b> or <b>S</b> to stop. -If this directive is not present the deprecated directives -"disabled" or "stopped" are used. -</p> -<p> -This flag can be changed at runtime using status worker. -</p> -<p> -This feature has been added in <b>jk 1.2.19</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>route</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>worker name</code></td><td align="left" valign="center"> -Normally the name of a balanced worker in a load balancer is equal to the jvmRoute -of the corresponding Tomcat instance. If you want to include a worker corresponding -to a Tomcat instance into several load balancers with different balancing configuration -(e.g. disabled, stopped) you can use this attribute. -<p> -Define a separate worker per lb and per Tomcat instance with an arbitrary worker name and -set the route attribute of the worker equal to the jvmRoute of the target Tomcat instance. -</p> -<p> -If this attribute is left empty, the name of the worker will be used. -</p> -<p> -This attribute can be changed at runtime using status worker. -</p> -<p> -If the route name contains a period, the part before the first period will be -used as domain name, unless domain is set explicitly. -</p> -<p> -This feature has been added in <b>jk 1.2.16</b>.<br> -The automatic domain rule has been added in <b>jk 1.2.20</b>.<br> -The attribute has been renamed from jvm_route to route in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>distance</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -An integer number to express preferences between -the balanced workers of an lb worker. -A load balancer will never choose some balanced worker -in case there is another usable worker with lower distance. -<p> -Only in case all workers below a given distance are in error, disabled or stopped, -workers of a larger distance are eligible for balancing. -</p> -<p> -This feature has been added in <b>jk 1.2.16</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>domain</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -Domain directive can be used only when the worker is a member of the load balancer. -Workers that share the same domain name are treated as single worker. If sticky_session -is used, then the domain name is used as session route. -<p> -This directive is used for large system with more then 6 Tomcats, to be able -to cluster the Tomcats in two groups and thus lowering the session replication -transfer between them. -</p> -<p> -This feature has been added in <b>jk 1.2.8</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>redirect</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -Set to the name of the preferred failover worker. If worker matching -SESSION ID is in error state then the redirect worker will be used instead. -It will be used even if being disabled, thus offering hot standby. -<p> -If you explicitly set a route via the "route" attribute, you must set "redirect" -to this route of the preferred failover worker and not to its name. -</p> -<p> -This feature has been added in <b>jk 1.2.9</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>session_cookie</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>JSESSIONID</code></td><td align="left" valign="center"> -The name of the cookie that contains the routing identifier needed for session stickyness. -The routing identifier is everything after a "." character in the value of the cookie. -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>session_path</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>;jsessionid</code></td><td align="left" valign="center"> -The name of the path parameter that contains the routing identifier needed for -session stickyness. The routing identifier is everything after a "." character in the value -of the path parameter. -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr></table> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Deprecated Worker Directives"><strong>Deprecated Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>The following directives have been deprecated in the past. We include their documentation -in case you need to use an older version of mod_jk. We urge you to update and not use -them any more. Please migrate your existing configurations. -</p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="15%" bgcolor="#023264"><font color="#ffffff">Successor</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="60%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>cachesize</code></td><td align="center" valign="center"><code>connection_pool_size</code></td><td align="center" valign="center"><code>see text</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.16.</font></p> -Cachesize defines the number of connections made to the AJP backend that -are maintained as a connection pool. -It will limit the number of those connection that each web server child -process can make. -<p> -Cachesize property is used only for multi threaded -web servers such as Apache 2.0 (worker), IIS and Netscape. The cachesize property -should reflect the number of threads per child process. JK will discover -the number of threads per child process on Apache 2 web server with worker-mpm and set -its default value to match the ThreadsPerChild Apache directive. For IIS the default -value is 10. For other web servers than Apache or IIS this value has to be set manually. -</p> -<p><font color="#ff0000">Do not use cachesize with values higher then 1 on <b>Apache 2.x prefork</b> or <b>Apache 1.3.x</b>!</font></p> -</td></tr><tr><td align="left" valign="center"><code>cache_timeout</code></td><td align="center" valign="center"><code>connection_pool_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.16.</font></p> -Cache timeout property should be used with <b>cachesize</b> to specify how to time JK should keep -an open socket in cache before closing it. This property should be used to reduce the number of threads -on the Tomcat web server. -<p> -Each child could open an ajp13 connection if it have to forward a request to Tomcat, creating -a new ajp13 thread on Tomcat side. -</p> -<p> -The problem is that after an ajp13 connection is created, the child won't drop it -until killed. And since the webserver will keep its childs/threads running -to handle high-load, even it the child/thread handle only static contents, you could -finish having many unused ajp13 threads on the Tomcat side. -</p> -</td></tr><tr><td align="left" valign="center"><code>recycle_timeout</code></td><td align="center" valign="center"><code>connection_pool_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.16.</font></p> -The number of seconds that told webserver to cut an ajp13 connection after some time of -inactivity. When choosing an endpoint for a request and the assigned socket is open, it will be -closed if it was not used for the configured time. -It's a good way to ensure that there won't too old threads living on Tomcat side, -with the extra cost you need to reopen the socket next time a request be forwarded. -This property is very similar to <b>cache_timeout</b> but works also in non-cache mode. -If set to value zero (default) no recycle will took place. -</td></tr><tr><td align="left" valign="center"><code>balanced_workers</code></td><td align="center" valign="center"><code>balance_workers</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.7.</font></p> -A comma separated list of workers that the load balancer -need to manage. -</td></tr><tr><td align="left" valign="center"><code>disabled</code></td><td align="center" valign="center"><code>activation</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.19.</font></p> -If set to <b>True</b> or <b>1</b> the worker will be disabled if member -of load balancer. This flag can be changed at runtime using status worker. -<p> -This feature has been added in <b>jk 1.2.9</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>stopped</code></td><td align="center" valign="center"><code>activation</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.19.</font></p> -If set to <b>True</b> or <b>1</b> the worker will be stopped if member -of load balancer. The flag is needed for stop complete traffic of a sticky session -worker. It is only useful, when you have a cluster that replicated the sessions. -This flag can be changed at runtime using status worker. -<p> -This feature has been added in <b>jk 1.2.11</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>jvm_route</code></td><td align="center" valign="center"><code>route</code></td><td align="center" valign="center"><code>worker name</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.20.</font></p> -Normally the name of a balanced worker in a load balancer is equal to the jvmRoute -of the corresponding Tomcat instance. If you want to include a worker corresponding -to a Tomcat instance into several load balancers with different balancing configuration -(e.g. disabled, stopped) you can use this attribute. -<p> -Define a separate worker per lb and per Tomcat instance with an arbitrary worker name and -set the jvm_route attribute of the worker equal to the jvmRoute of the target Tomcat instance. -</p> -<p> -If this attribute is left empty, the name of the worker will be used. -</p> -<p> -This attribute can be changed at runtime using status worker. -</p> -<p> -This feature has been added in <b>jk 1.2.16</b>. -</p> -</td></tr></table> -</blockquote></td></tr></table> - -</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2011, Apache Software Foundation - </em></font></div></td></tr></table></body></html>
\ No newline at end of file diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/status.html b/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/status.html deleted file mode 100644 index 6754bc2a..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/status.html +++ /dev/null @@ -1,547 +0,0 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connector - Reference Guide - Status Worker Reference</title><meta name="author" value="Rainer Jung"><meta name="email" value="rjung@apache.org"><link href="../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="true"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Reference Guide</strong></p><ul><li><a href="../reference/workers.html">workers.properties</a></li><li><a href="../reference/uriworkermap.html">uriworkermap.properties</a></li><li><a href="../reference/status.html">Status Worker</a></li><li><a href="../reference/apache.html">Apache HTTP Server</a></li><li><a href="../reference/iis.html">IIS</a></li></ul><p><strong>Generic HowTo</strong></p><ul><li><a href="../generic_howto/quick.html">For the impatient</a></li><li><a href="../generic_howto/workers.html">All about workers</a></li><li><a href="../generic_howto/timeouts.html">Timeouts</a></li><li><a href="../generic_howto/loadbalancers.html">Load Balancing</a></li><li><a href="../generic_howto/proxy.html">Reverse Proxy</a></li></ul><p><strong>Webserver HowTo</strong></p><ul><li><a href="../webserver_howto/apache.html">Apache HTTP Server</a></li><li><a href="../webserver_howto/iis.html">IIS</a></li><li><a href="../webserver_howto/nes.html">Netscape/SunOne/Sun</a></li></ul><p><strong>AJP Protocol Reference</strong></p><ul><li><a href="../ajp/ajpv13a.html">AJPv13</a></li><li><a href="../ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul><p><strong>Miscellaneous Documentation</strong></p><ul><li><a href="../miscellaneous/faq.html">Frequently asked questions</a></li><li><a href="../miscellaneous/changelog.html">Changelog</a></li><li><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Tomcat+Connectors&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Current Tomcat Connectors bugs</a></li><li><a href="../miscellaneous/doccontrib.html">Contribute documentation</a></li><li><a href="../miscellaneous/jkstatustasks.html">JK Status Ant Tasks</a></li><li><a href="../miscellaneous/reporttools.html">Reporting Tools</a></li><li><a href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html">Old JK/JK2 documentation</a></li></ul><p><strong>News</strong></p><ul><li><a href="../news/20110701.html">2011</a></li><li><a href="../news/20100101.html">2010</a></li><li><a href="../news/20090301.html">2009</a></li><li><a href="../news/20081001.html">2008</a></li><li><a href="../news/20070301.html">2007</a></li><li><a href="../news/20060101.html">2006</a></li><li><a href="../news/20050101.html">2005</a></li><li><a href="../news/20041100.html">2004</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left"><table border="0" width="100%" cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connector - Reference Guide</h1><h2>Status Worker Reference</h2></td><td align="right" valign="top" nowrap="true"><small><a href="printer/status.html"><img src="../images/printer.gif" border="0" alt="Printer Friendly Version"><br>print-friendly<br>version - </a></small></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Tomcat Connectors has a special type of worker, the so-called status worker. -The status worker does not forward requests to Tomcat instances. Instead it allows -to retrieve status and configuration information at runtime, -and furthermore to change many configuration items dynamically. This can be done -via a simple embedded web interface. -</p> -<p> -The status worker is especially powerful, when used together with load balancing workers. -</p> -<p> -This document does not explain the HTML user interface of the status worker. -Until now it is very simple, so just go ahead and use it. This doc instead -tries to explain the less obvious features of the status worker. We also will give a -complete coverage of the various request parameters and their meaning, so that you can -include the status worker in your automation scripts. -</p> -<p> -The documentation of the status worker starts with <b>jk 1.2.20</b> -</p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Usage Patterns"><strong>Usage Patterns</strong></a></font></td></tr><tr><td><blockquote> -<br> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Actions"><strong>Actions</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The status worker knows about six actions. -<ul> -<li> -<b>list</b>: lists the configurations and runtime information of all configured workers. -The output will be grouped by global information first (version data), then load balancer -information, after that AJP worker information and finally the legend. For load balancers, -there will be a summary part, and after that details for each member worker. For all workers, -we also include the URL mappings (forward definitions). -</li> -<li> -<b>show</b>: the same as list, but only shows data for one chosen worker -</li> -<li> -<b>edit</b>: produces a form to edit configuration data for a chosen worker. There is a -special subtype of "edit", that makes it easy to change one attribute for all members of -a load balancer, e.g. their activation state. -</li> -<li> -<b>update</b>: commit changes made in an edit form. <b>Caution</b>: the changes will not be -persisted to the configuration files. As soon as your restart your web server, all changes -made through the status worker will be lost! On the other hand, the changes done by the status -worker will be applied during runtime without a restart of the web server. -</li> -<li> -<b>reset</b>: reset all runtime statistics for a worker. -</li> -<li> -<b>recover</b>: Mark a member of a load balancer, that is in error state, for immediate recovery. -</li> -<li> -<b>version</b>: only show version information of the web server and the JK software -</li> -<li> -<b>dump</b>: list the original workers configuration. <b>Caution</b>: the dump will only contain -the configuration that was used during startup. Any changes applied later by the dynamic management -interface of the status worker itself will not be contained in this dump. -The dump action has been added in version 1.2.27. -</li> -</ul> -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Output Format"><strong>Output Format</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -For most actions you can choose between 4 output formats. -<ul> -<li> -<b>HTML</b>: Used interactively with a browser -</li> -<li> -<b>XML</b>: Mostly useful for automation, when your scripting environment is XML friendly. -This format has rich structure information, but does not work line based, so you would really -like to use it together with XML tools. -</li> -<li> -<b>Properties</b>: This format is a line based format, that conforms to the rules of Java -property files. Most structure information is contained in the hierarchical key. For information, -that is of configuration nature, the format should produce lines very similar to the ones you can -use in workers.properties. It will not produce a complete configuration file! -</li> -<li> -<b>Text</b>: A simple textual output format. -</li> -</ul> -The "edit" action does only make sense for the HTML output type. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="User Interface Features"><strong>User Interface Features</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -In the HTML view, there is an <b>automatic refresh</b> feature, implemented via the meta refresh -option of HTML. Once you start the automatic refresh, the UI will will respect it for all actions -except edit, update and maintain. Even if you navigate through one of those, the automatic refresh -will start again as soon as you come back to one of the other actions. -</p> -<p> -Many parts of the HTML page can be minimised, if they are not interesting for you. There are a couple -of "Hide" links, which will collapse parts of the information. The feature exists for the following -blocks of information: -<ul> -<li> -<b>Legend</b>: Do not show the legend for the information presented in "list" and "show" actions -</li> -<li> -<b>URI mappings</b>: Do not show the URI mapping for the workers -</li> -<li> -<b>Load Balancing Workers</b>: Do not show workers of type "lb" -</li> -<li> -<b>AJP Workers</b>: Do not show workers of type ajp -</li> -<li> -<b>Balancer Members</b>: Do not show detailed information concerning each member of load balancers -</li> -<li> -<b>Load Balancer Configuration</b>: Do not show configuration data for load balancers -</li> -<li> -<b>Load Balancer Summary</b>: Do not show status summary for load balancers -</li> -<li> -<b>AJP Configuration</b>: Do not show configuration data for ajp workers load balancer members -</li> -</ul> -The last three minimisation features have been added in version 1.2.27. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Considerations concerning URL Maps and Virtual Hosts"><strong>Special Considerations concerning URL Maps and Virtual Hosts</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -<b>Note: </b>The following restriction has been removed starting with version 1.2.26. -</p> -<p> -The Apache module mod_jk makes use of the internal Apache httpd infrastructure concerning -virtual hosts. The downside of this is, that the status worker can only show URL maps, for -the virtual host it is defined in. It is not able to reach the configuration objects -for other virtual hosts. Of course you can define a status worker in any virtual host you -are using. All information presented apart from the URL maps will be the same, independent -of the virtual host the status worker has been called in. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The status worker will log changes made to the configuration with log level "info" to the usual -JK log file. Invalid requests will be logged with log level "warn". If you want to report some -broken behaviour, log file content of level "debug" or even "trace" will be useful. -</p> -</blockquote></td></tr></table> - -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote> -<br> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Basic Configuration"><strong>Basic Configuration</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The basic configuration of a status worker is very similar to that of a usual ajp worker. -You need to specify a name for the worker, and the URLs you want to map to it. The first -part of the configuration happens in the workers.properties file. We define a worker named -mystatus of type status: -<div class="example"><pre> -worker.list=mystatus -worker.mystatus.type=status -</pre></div> -Then we define a URL, which should be mapped to this worker, i.e. the URL we use -to reach the functionality of the status worker. You can use any method mod_jk supports -for the web server of your choice. Possibilities are maps inside uriworkermap.properties, -an additional mount attribute in workers.properties, or in Apache JkMount. Here's an -example for a uriworkermap.properties line: -<div class="example"><pre> -/private/admin/mystatus=mystatus -</pre></div> -The URI pattern is case sensitive. -</p> -<p> -As you will learn in the following sections, the status worker is very powerful. You should -use the usual authentication and authorisation methods of your web server to secure this URL. -</p> -<p> -You can also define multiple instances of the status worker, by using different names and URL mappings. -For instance you might want to configure them individually -and then allow special groups of people to use them -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Output Customisation"><strong>Output Customisation</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -There are a couple of attributes for the workers.properties entries, which allow to customise -various aspects of the output of the status worker. -</p> -<p> -The attribute <b>css</b> can be set to the URL of a stylesheet: -<div class="example"><pre> -worker.mystatus.css=/private/admin/static/mystatus.css -</pre></div> -When writing HTML output, the status worker then includes the line -<div class="example"><pre> -<link rel="stylesheet" type="text/css" href="/private/admin/static/mystatus.css" /> -</pre></div> -There is no sample stylesheet included with the mod_jk release, and by default the attribute css -is empty, so no stylesheet reference will be included in the pages. The HTML code -of the status worker output pages does not include any class attributes. If you like to contribute a -stylesheet or improvements to the HTML layout, please contact us on the tomcat developers list. -</p> -<p> -The properties output format can be customised via the attribute <b>prefix</b>. The names of all -properties the status worker does output, will begin with this prefix. The default is "worker". -</p> -<p> -Several attributes influence the format when writing XML output. -The attribute <b>ns</b> allows to set a namespace prefix, that will be used for every status worker+element. -The default is "jk:". Setting it to "-" disables the namespace prefix. -</p> -<p> -With the attribute xmlns you can map the prefix to a namespace URL. The default value -is xmlns:jk="http://tomcat.apache.org". Setting it to "-" disables the output of the URL. -</p> -<p> -Finally you can specify an XML document type via the attribute doctype. The specified string will -be inserted at the beginning of the document, directly after the xml header. The default is empty. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Securing Access"><strong>Securing Access</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -We urge you to use the builtin access control features of your web server to control -access to the status worker URLs you have chosen. Nevertheless two configuration -attributes of status workers are helpful. The attribute "read_only" disables all features of -the status worker, that can be used to change configurations or runtime status of the other workers. -A read_only status worker will not allow access to the edit, update, reset or recover actions. -The default value is "False", ie. read/write. To enable read_only you need to set it to "True". -</p> -<p> -You could configure two status workers, one has read_only and will be made available to a larger -admin group, the other one will be used fully featured, but only by fewer people: -<div class="example"><pre> -worker.list=jk-watch -worker.jk-watch.type=status -worker.jk-watch.read_only=True -worker.jk-watch.mount=/user/status/jk -worker.list=jk-manage -worker.jk-manage.type=status -worker.jk-manage.mount=/admin/status/jk -</pre></div> -Starting with version 1.2.21, a read/write status worker can also be switched temporarily -into read-only mode by the user via a link in the HTML GUI. The user can always switch it -back to read/write. Only a status worker configured as read-only via the "read_only" attribute -is completely safe from applying any changes. -</p> -<p> -The other attribute you can use is <b>user</b>. By default this list is empty, which means -no limit on the users. You can set "user" to a comma separated list of user names. If your -web server is configured such that it sends the user names with the request, the status worker -will check, if the name attached with the request is contained in it's "user" list. -</p> -<p> -The user list can be split over multiple occurrences of the "user" attribute. -</p> -<p> -By default, the user names are matched case sensitively. Starting with version 1.2.21 you can set -the attribute <b>user_case_insensitive</b> to "True". Then the comparison will be made case insensitive. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Service Availability Rating"><strong>Service Availability Rating</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -For load balancing workers the status worker shows some interesting overview information. -It categorises the members of the load balancer into the classes "good", "bad" and degraded". -This feature can be combined with external escalation procedures. Depending on your global -system design and your operating practises your preferred categorisation might vary. -</p> -<p> -The categorisation is based on the activation state of the workers (active, disabled or stopped), -which is a pure configuration state, and the runtime state -(OK or ERR with possible substates idle, busy, recovering, probing, and forced recovery) -which only depends on the runtime situation. -</p> -<p> -The runtime substates have the following meaning: -<ul> -<li> -<b>OK (idle)</b>: This worker didn't receive any request since the last balancer -maintenance. By default balancer maintenance runs every 60 seconds. The -worker should be OK, but since we didn't have to use it for some time, we -can't be sure. This state has been called N/A before version 1.2.24. -</li> -<li> -<b>OK (busy)</b>: All connections for this worker are in use for requests. -</li> -<li> -<b>ERROR (recovering)</b>: The worker was in error state for some time and is now -marked for recovery. The next request suitable for this worker will use it. -</li> -<li> -<b>ERROR (probing)</b>: After setting the worker to recovering, we received a request -suitable for this worker. This request is now using the worker. -</li> -<li> -<b>ERROR (forced recovery)</b>: The worker is in error, but we don't have an alternative -worker, so we keep using it. -</li> -</ul> -</p> -<p> -By default the status worker groups into "good" all members, that have activation "active" and -runtime state not equal to "error" with empty substate. -The "bad" group consists of the members, that have either activation -"stopped", or are in runtime state "error" with empty substate. -</p> -<p> -Workers that fit neither of the two groups, are considered to be "degraded". -</p> -<p> -You can define other rules for the grouping into good, bad and degraded. -The two attributes "good" and "bad" can be populated by a comma-separated list ob single characters or -dot-separated pairs. Each character stands for the first character of one of the possible states "active", -"disabled", "stopped", "ok", "idle", "busy", "recovering" and "error". The additional states "probing" -and "forced recovery" are always rated equivalent to "recovering". -Comma-separated entries will be combined -with logical "or", if you combine a configuration and a runtime state with a dot. the are combined with logical -"and". So the default value for "good" is "a.o,a.i,a.b,a.r", for "bad" it is "e,s". -</p> -<p> -The status worker first tries to match against the "bad" definitions, if this doesn't succeed -it tries to match against "good", and finally it chooses "degraded", if no "bad" or "good" match -can be found. -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Request Parameters"><strong>Request Parameters</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -This section should help you building automation scripts based on the jk status -management interface. This interface is stable in the sense, that we only expect -to add further parameters in the future. Existing parameters from previous versions -will keep their original semantics. We also expect the output formats XML, Properties -and Text to be kept stable. So please use those, if you want to parse status worker -output in your automation scripts. -</p> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Actions"><strong>Actions</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The action is determined by the parameter <b>cmd</b>. It can have the values "list", "show", -"edit", "update", "reset", "recover", "version" and "dump". If you omit the <b>cmd</b> parameter, -the default "list" will be used. -All actions except for "list", "refresh", "version" and "dump" need additional parameters. -</p> -<p> -The action "dump" has been added in version 1.2.27. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Output Format"><strong>Output Format</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The format is determined by the parameter <b>mime</b>. It can have the values "html", "xml", -"txt" and "prop". If you omit the <b>mime</b> parameter, the default "html" -will be used. The action "edit" (the edit form) does only make sense for "mime=html". -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Worker Selection"><strong>Worker Selection</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Actions that operate on a single worker need one or two additional parameters to select -this worker. The parameter <b>w</b> contains the name of the worker from the worker list. -If an action operates on a member (sub worker) of a load balancer, the parameter <b>w</b> -contains the name of the load balancer worker, and the additional parameter <b>sw</b> contains the -name of the sub worker. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Automatic Refresh"><strong>Automatic Refresh</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -During automatic refresh, the parameter <b>re</b> contain the refresh interval in seconds. -If you omit this parameter, automatic refresh will be off. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Hide Options"><strong>Hide Options</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The parameter <b>opt</b> contains a bit mask of activated options. The default is 0, so -by default no options are activated. The following options exist: -<ul> -<li> -<b>0x0001</b>: hide members of lb workers -</li> -<li> -<b>0x0002</b>: hide URL maps -</li> -<li> -<b>0x0004</b>: hide the legend -</li> -<li> -<b>0x0008</b>: hide load balancer workers -</li> -<li> -<b>0x0010</b>: hide ajp workers -</li> -<li> -<b>0x0020</b>: only allow read_only actions for a read/write status worker. -</li> -<li> -<b>0x0040</b>: hide load balancer configuration -</li> -<li> -<b>0x0080</b>: hide load balancer status summary -</li> -<li> -<b>0x0100</b>: hide configuration for ajp and load balancer member workers -</li> -</ul> -Values 0x0040-0x0100 have been added in version 1.2.27. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Data Parameters for the standard Update Action"><strong>Data Parameters for the standard Update Action</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -You can use the edit action with a final click to the update button, to change settings of workers. -But you can also make direct calls to the update action. The following request parameters -contain the configuration information, you want to change. First the list for load balancer workers: -<ul> -<li> -<b>vlr</b>: retries (number) -</li> -<li> -<b>vlt</b>: recover_time (seconds) -</li> -<li> -<b>vlee</b>: error_escalation_time (seconds) -</li> -<li> -<b>vlx</b>: max_reply_timeouts (number) -</li> -<li> -<b>vls</b>: sticky_session (0/f/n/off=off, 1/t/y/on=on; case insensitive) -</li> -<li> -<b>vlf</b>: sticky_session_force (0/f/n/off=off, 1/t/y/on=on; case insensitive) -</li> -<li> -<b>vlm</b>: method (0/r="Requests", 1/t="Traffic", 2/b="Busyness", 3/s="Sessions"; case insensitive, only first character is used) -</li> -<li> -<b>vll</b>: lock (0/o="Optimistic", 1/p="Pessimistic"; case insensitive, only first character is used) -</li> -</ul> -And now the list of parameters you can use to change settings for load balancer members: -<ul> -<li> -<b>vwa</b>: activation flag (0/a="active", 1/d="disabled", 2/s="stopped"; case insensitive, only first character is used) -</li> -<li> -<b>vwf</b>: load balancing factor (integer weight) -</li> -<li> -<b>vwn</b>: route for use with sticky sessions (string) -</li> -<li> -<b>vwr</b>: redirect to define simple failover rules (string) -</li> -<li> -<b>vwc</b>: domain to tell JK about your replication design (string) -</li> -<li> -<b>vwd</b>: distance to express preferences (integer) -</li> -</ul> -Finally the list of parameters you can use to change settings for ajp workers and ajp load balancer members: -<ul> -<li> -<b>vahst</b>: host (string) -</li> -<li> -<b>vaprt</b>: port (number) -</li> -<li> -<b>vacpt</b>: connection_pool_timeout (number) -</li> -<li> -<b>vact</b>: connect_timeout (number) -</li> -<li> -<b>vapt</b>: prepost_timeout (number) -</li> -<li> -<b>vart</b>: reply_timeout (number) -</li> -<li> -<b>var</b>: retries (number) -</li> -<li> -<b>varo</b>: recovery_options (number) -</li> -<li> -<b>vamps</b>: max_packet_size (number) -</li> -</ul> -Note that changing the host name or port will only take effect for new connections. -Already established connections to the old address will still be used. -Nevertheless this feature is interesting, because you can provision load balancer -members with port "0", which will automatically be stopped during startup. Later -when you know the final names and ports, you can set them and they will be -automatically activated. -</p> -<p> -The leading character "v" has been added to the parameters in version 1.2.27. -Changing settings for ajp workers has also been introduced in version 1.2.27. -</p> -<p> -For the details of all parameters, we refer to the <a href="workers.html">workers.properties Reference</a>. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Aspect Editing for Load Balancer Members"><strong>Aspect Editing for Load Balancer Members</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -You can use the edit action to edit all settings for a load balancer or for a -member of a load balancer respectively on one page. If you want to edit one -configuration aspect for all members of a load balancer simultaneously, this -will be triggered by the parameter <b>att</b>. The value of the parameter indicates, -which aspect you want to edit. The list is the same as in the previous section, -except for "vahst" and "vaprt": -"vwa", "vwf", "vwn", "vwr", "vwc", "vwd", "vacpt", "vact", "vapt", "vart", "var", -"varo" and "vamps". But here you -need to put the name into the parameter <b>att</b>, instead of using it as a request -parameter name. -</p> -<p> -The values of the common aspect for all the load balancer members will be given -in parameters named "val0", "val1", .... -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2011, Apache Software Foundation - </em></font></div></td></tr></table></body></html>
\ No newline at end of file diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/uriworkermap.html b/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/uriworkermap.html deleted file mode 100644 index f70ee475..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/uriworkermap.html +++ /dev/null @@ -1,378 +0,0 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connector - Reference Guide - uriworkermap.properties configuration</title><meta name="author" value="Rainer Jung"><meta name="email" value="rjung@apache.org"><meta name="author" value="Mladen Turk"><meta name="email" value="mturk@apache.org"><link href="../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="true"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Reference Guide</strong></p><ul><li><a href="../reference/workers.html">workers.properties</a></li><li><a href="../reference/uriworkermap.html">uriworkermap.properties</a></li><li><a href="../reference/status.html">Status Worker</a></li><li><a href="../reference/apache.html">Apache HTTP Server</a></li><li><a href="../reference/iis.html">IIS</a></li></ul><p><strong>Generic HowTo</strong></p><ul><li><a href="../generic_howto/quick.html">For the impatient</a></li><li><a href="../generic_howto/workers.html">All about workers</a></li><li><a href="../generic_howto/timeouts.html">Timeouts</a></li><li><a href="../generic_howto/loadbalancers.html">Load Balancing</a></li><li><a href="../generic_howto/proxy.html">Reverse Proxy</a></li></ul><p><strong>Webserver HowTo</strong></p><ul><li><a href="../webserver_howto/apache.html">Apache HTTP Server</a></li><li><a href="../webserver_howto/iis.html">IIS</a></li><li><a href="../webserver_howto/nes.html">Netscape/SunOne/Sun</a></li></ul><p><strong>AJP Protocol Reference</strong></p><ul><li><a href="../ajp/ajpv13a.html">AJPv13</a></li><li><a href="../ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul><p><strong>Miscellaneous Documentation</strong></p><ul><li><a href="../miscellaneous/faq.html">Frequently asked questions</a></li><li><a href="../miscellaneous/changelog.html">Changelog</a></li><li><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Tomcat+Connectors&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Current Tomcat Connectors bugs</a></li><li><a href="../miscellaneous/doccontrib.html">Contribute documentation</a></li><li><a href="../miscellaneous/jkstatustasks.html">JK Status Ant Tasks</a></li><li><a href="../miscellaneous/reporttools.html">Reporting Tools</a></li><li><a href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html">Old JK/JK2 documentation</a></li></ul><p><strong>News</strong></p><ul><li><a href="../news/20110701.html">2011</a></li><li><a href="../news/20100101.html">2010</a></li><li><a href="../news/20090301.html">2009</a></li><li><a href="../news/20081001.html">2008</a></li><li><a href="../news/20070301.html">2007</a></li><li><a href="../news/20060101.html">2006</a></li><li><a href="../news/20050101.html">2005</a></li><li><a href="../news/20041100.html">2004</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left"><table border="0" width="100%" cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connector - Reference Guide</h1><h2>uriworkermap.properties configuration</h2></td><td align="right" valign="top" nowrap="true"><small><a href="printer/uriworkermap.html"><img src="../images/printer.gif" border="0" alt="Printer Friendly Version"><br>print-friendly<br>version - </a></small></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The forwarding of requests from the web server to tomcat gets configured by defining mapping rules. -Such a rule maps requests to workers. The request part of the map is described by a URI pattern, -the worker by it's worker name. -</p> -<p> -The so-called <b>uriworkermap</b> file is a mechanism of defining rules, -which works for all web servers. There exist also other web server specific configuration -options for defining rules, which will be mostly discussed on the reference pages for -configuring tomcat connectors for the individual web servers. -</p> -<p> -The name of the file is usually uriworkermap.properties, -although this is configurable in the web server. -Please consult the web server specific documentation pages on -how to enable the uriworkermap file. -</p> -<p> -The main features supported by the uriworkermap file are -<ul> -<li> -Support for comments in the rule file. -</li> -<li> -Exact and wildchar matches, shortcuts to map a directory and all including content. -</li> -<li> -Exclusion rules, disabling of rules and rule priorities. -</li> -<li> -Rule extensions, modifying worker behaviour per rule. -</li> -<li> -Virtual host integration: uri mapping rules can be expressed per virtual host. -The details are web server specific though. -</li> -<li> -Dynamic reloading: The file gets checked periodically for changes. -New versions are automatically reloaded without web server restarts. -</li> -<li> -Integration with the status worker. -</li> -</ul> -The following sections describe these aspects in more detail. -</p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Syntax"><strong>Syntax</strong></a></font></td></tr><tr><td><blockquote> -<br> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Line format"><strong>Line format</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The file has a line based format. There are no continuation characters, -so each rule needs to be defined on a single line. Each rule is a pair consisting -of a URI pattern and a worker name, combined by an equals sign '=': -<div class="example"><pre> - /myapp=myworker -</pre></div> -The URI pattern is case sensitive. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Comments, white space"><strong>Comments, white space</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -All text after and including the character '#' gets ignored and can be used for comments. -Leading and trailing white space gets trimmed around the URI pattern and also around the worker name. -The following definitions are all equivalent: -<div class="example"><pre> - # This is a white space example - /myapp=myworker - /myapp=myworker - /myapp = myworker -</pre></div> -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="URI patterns"><strong>URI patterns</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Inside the URI pattern three special characters can be used, '*', '?' and '|'. -The character '*' is a wildchar that matches any number of arbitrary characters -in the URI, '?' matches exactly one character. -Each URI pattern has to start with the character '/', or with '*' or with '?', -optionally prefixed by any combination of the modifiers '!' and '-' (see next section). -<div class="example"><pre> - # Mapping the URI /myapp1 and everything under /myapp1/: - /myapp1=myworker-a - /myapp1/*=myworker-a - # Mapping all URI which end with a common suffix: - *.jsp=myworker - *.do=myworker -</pre></div> -Since the first case of mapping a certain location and everything inside -it is very common, the character '|' gives a handy shortcut: -<div class="example"><pre> - # Mapping the URI /myapp1 and everything under /myapp1/: - /myapp1|/*=myworker-a -</pre></div> -The pattern 'X|Y' is exactly equivalent to the two maps 'X' and 'XY'. -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Exclusion, Disabling and Priorities"><strong>Exclusion, Disabling and Priorities</strong></a></font></td></tr><tr><td><blockquote> -<br> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Exclusions and rule disabling"><strong>Exclusions and rule disabling</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Exclusion rules allows to define exclusions from URI rules, which would forward -requests to tomcat. If the exclusion rule matches, the request will not be forwarded. -This is usually used to serve static content by the web server. -A rule is an exclusion rule, if it is suffixed with '!': -<div class="example"><pre> - # Mapping the URI /myapp and everything under /myapp/: - /myapp|/*=myworker - # Exclude the subdirectory static: - !/myapp/static|/*=myworker - # Exclude some suffixes: - !*.html=myworker -</pre></div> -An exclusion rule overrides a normal mapping rule only, if the worker names in the -normal rule and in the exclusion rule are the same. Starting with version 1.2.26 of JK -you can apply an exclusion rule to any worker, by using the star character '*' as -the worker name in the exclusion rule. -More complex patterns in exclusion worker names are not allowed. -<div class="example"><pre> - # Mapping the webapps /myapp1 and /myapp2: - /myapp1|/*=myworker1 - /myapp2|/*=myworker2 - # Exclude the all subdirectories static for all workers: - !/*/static|/*=* - # Exclude some suffixes for all workers: - !*.html=* -</pre></div> -</p> -<p> -Rule disabling comes into play, if your web server merges rules from various sources, -and you want to disable any rule defined previously. Since the uriworkermap file gets -reloaded dynamically, you can use this to temporarily disable request forwarding: -A rule gets disabled, if it is suffixed with '-': -<div class="example"><pre> - # We are not in maintenance. - # The maintenance rule got defined somewhere else. - -/*=maintenance -</pre></div> -Exclusion rules can get disabled as well, then the rule starts with '-!'. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Mapping priorities"><strong>Mapping priorities</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The most restrictive URI pattern is applied first. More precisely the URI patterns are -sorted by the number of '/' characters in the pattern (highest number first), and -rules with equal numbers are sorted by their string length (longest first). -</p> -<p> -If both distinctions still do not suffice, then the defining source of the rule is considered. -Rules defined in uriworkermap.properties come first, before rules defined by JkMount (Apache) -and inside workers.properties using the mount attribute. -</p> -<p> -All disabled rules are ignored. Exclusion rules are applied after all normal rules -have been applied. -</p> -<p> -There is no defined behaviour, for the following configuration conflict: -using literally the same URI pattern in the same defining source but with -different worker targets. -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Rule extensions"><strong>Rule extensions</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Rule extensions were added in version 1.2.27 and are not available in earlier versions. -</p> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Syntax"><strong>Syntax</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Rule extensions are additional attributes, that can be attached to any rule. -They are added at the end of the rule, each extension separated by a semicolon: -<div class="example"><pre> - # This is an extension example, - # setting a reply_timeout of 1 minute - # only for this mapping. - /myapp=myworker;reply_timeout=60000 - # - # This is an example using multiple extensions - /myapp=myloadbalancer;reply_timeout=60000;stopped=member1 -</pre></div> -Attributes set via rule extensions always overwrite conflicting -configurations in the worker definition file. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Extension reply_timeout"><strong>Extension reply_timeout</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The extension <b class="code">reply_timeout</b> sets a reply timeout for a single mapping rule. -<div class="example"><pre> - # Setting a reply_timeout of 1 minute - # only for this mapping. - /myapp=myworker;reply_timeout=60000 -</pre></div> -It overrides any <b class="code">reply_timeout</b> defined for the worker. The extension allows -to set a reasonable default reply timeout to the worker, and a more relaxed -reply timeout to URLs, which are known to start time intensive tasks. -For a general description of reply timeouts see the -<a href="../generic_howto/timeouts.html#Reply Timeout">timeouts</a> documentation. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Extensions active/disabled/stopped"><strong>Extensions active/disabled/stopped</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The extensions <b class="code">active</b>, <b class="code">disabled</b>, and <b class="code">stopped</b> -can be used in a load balancer mapping rule to set selected members -of the load balancer into a special activation state. -<div class="example"><pre> - # Stop forwarding only for member1 of loadbalancer - /myapp=myloadbalancer;stopped=member1 -</pre></div> -Multiple members must be separated by commas or white space: -<div class="example"><pre> - # Stop forwarding for member01 and member02 of loadbalancer - # Disable forwarding for member21 and member22 of loadbalancer - /myapp=myloadbalancer;stopped=member01,member02;disabled=member21,member22 -</pre></div> -For the precise meaning of the activation states see the description of -<a href="../reference/workers.html#Advanced Worker Directives">activation</a>. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Extension fail_on_status"><strong>Extension fail_on_status</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The extension <b class="code">fail_on_status</b> can be used in any rule: -<div class="example"><pre> - # Send 503 instead of 404 and 500, - # and if we get a 503 also set the worker to error - /myapp=myworker;fail_on_status=-404,-500,503 -</pre></div> -Multiple status codes must be separated by commas. -For the precise meaning of the attribute see the description of -<a href="../reference/workers.html#Advanced Worker Directives">fail_on_status</a>. -</p> -</blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Extension use_server_errors"><strong>Extension use_server_errors</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The extension <b class="code">use_server_errors</b> allows to let the web server -send an error page, instead of the backend (e.g. Tomcat) error page. -This is useful, if one wants to send customized error pages, but those are -not part of all web applications. They can then be put onto the web server. -</p> -<p> -The value of <b class="code">use_server_errors</b> is a positive number. -Any request send to the backend, that returns with an http status -code bigger or equal to <b class="code">use_server_errors</b>, will -be answered to the client with the error page of the web server -for this status code. -<div class="example"><pre> - # Use web server error page for all errors - /myapp=myworker;use_server_errors=400 - # Use web server error page only for technical errors - /myotherapp=myworker;use_server_errors=500 -</pre></div> -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Virtual host integration"><strong>Virtual host integration</strong></a></font></td></tr><tr><td><blockquote> -<br> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="IIS"><strong>IIS</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -When using IIS you can restrict individual rules to special virtual hosts -by prefixing the URI pattern with the virtual host information. -The rules is that the url must be prefixed with the host name. -<div class="example"><pre> - # Use www.foo.org as virtual host - /www.foo.org/myapp/*=myworker - # Use www.bar.org as virtual host - /www.bar.org/myapp/*=myworker - # Normal mapping - /mysecondapp/*=myworker -</pre></div> -</p> -<p> -Note that /mysecondapp/* will be mapped to all virtual hosts present. -In case one needs to prevent the mappings to some particular virtual host then -the exclusion rule must be used -<div class="example"><pre> - # Make sure the myapp is accessible by all virtual hosts - /myapp/*=myworker - # Disable mapping myapp for www.foo.org virtual host - !/www.foo.org/myapp/*=myworker -</pre></div> -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Apache httpd"><strong>Apache httpd</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -For Apache you can define individual uriworkermap files per virtual host. -The directive JkMountFile can be used in the main server and in each virtual host. -If a virtual host does not use JkMountfile, but JkMountCopy is set to 'On', -then it inherits the JkMountFile from the main server. If you want all vhost to inherit -mounts from the main server, you can set JkMountCopy to 'All' in the main server. -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Dynamic reloading"><strong>Dynamic reloading</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -When a request is being processed, tomcat connectors check the file modification time -of the uriworkermap file. To keep the performance penalty low, this happens only, -if the last check happened at least n seconds ago. -</p> -<p> -For Apache you can configure the interval "n" using the directive JkMountFileReload, -for IIS you would use the attribute worker_mount_reload. -The default value is 60 seconds. A value of "0" turns off the reloading. -</p> -<p> -If the file changed, it gets reloaded completely. If there exist rules coming -from other sources than the uriworkermap file (e.g. the workers.properties mount -attribute or JkMount with Apache httpd), the new uriworkermap file gets dynamically -merged with these ones exactly like when you do a web server restart. -</p> -<p> -Until version 1.2.19 reloading behaved slightly differently: it continuously added -the full contents of the uriworkermap file to the rule mapping. The merging rules -were, that duplicated got eliminated and old rules could be disabled, by defining the -rule as disabled in the new file. Rules never got deleted. -</p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Status worker integration"><strong>Status worker integration</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The configuration view of the status worker also shows the various mapping rules. -After each worker's configuration, the rules are listed, that forward to this worker. -The list contains four columns: -<ul> -<li> -the name of the virtual server -</li> -<li> -the URI pattern, prefixed with '-' for a disabled pattern and '!' for an exclusion pattern -</li> -<li> -the type of the rule: Exact or Wildchar -</li> -<li> -and the source of the rule definition: 'worker definition' for the workers.properties file (mount attribute), -'JkMount' for Apache httpd JkMount and it's relatives and finally 'uriworkermap' for the uriworkermap file. -</li> -</ul> -</p> -<p> -<b>Note: </b>The following restriction has been removed starting with version 1.2.26. -<br> -For Apache httpd, there is an important subtlety: the request going to the status worker -gets executed in the context of some server (main or virtual). The status worker will only show the -mapping rules, that are defined for this server (main or virtual). -<br> -Until version 1.2.25 the list contained three columns: -<ul> -<li> -the type of the rule: Exact or Wildchar, eventually prefixed with Disabled or Unmount (for exclusion rules) -</li> -<li> -the URI pattern -</li> -<li> -and the source of the rule definition: 'worker definition' for the workers.properties file (mount attribute), -'JkMount' for Apache httpd JkMount and it's relatives and finally 'uriworkermap' for the uriworkermap file. -</li> -</ul> -</p> -</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2011, Apache Software Foundation - </em></font></div></td></tr></table></body></html>
\ No newline at end of file diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/workers.html b/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/workers.html deleted file mode 100644 index 68b996a7..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/docs/reference/workers.html +++ /dev/null @@ -1,1001 +0,0 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connector - Reference Guide - workers.properties configuration</title><meta name="author" value="Mladen Turk"><meta name="email" value="mturk@apache.org"><link href="../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="true"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Reference Guide</strong></p><ul><li><a href="../reference/workers.html">workers.properties</a></li><li><a href="../reference/uriworkermap.html">uriworkermap.properties</a></li><li><a href="../reference/status.html">Status Worker</a></li><li><a href="../reference/apache.html">Apache HTTP Server</a></li><li><a href="../reference/iis.html">IIS</a></li></ul><p><strong>Generic HowTo</strong></p><ul><li><a href="../generic_howto/quick.html">For the impatient</a></li><li><a href="../generic_howto/workers.html">All about workers</a></li><li><a href="../generic_howto/timeouts.html">Timeouts</a></li><li><a href="../generic_howto/loadbalancers.html">Load Balancing</a></li><li><a href="../generic_howto/proxy.html">Reverse Proxy</a></li></ul><p><strong>Webserver HowTo</strong></p><ul><li><a href="../webserver_howto/apache.html">Apache HTTP Server</a></li><li><a href="../webserver_howto/iis.html">IIS</a></li><li><a href="../webserver_howto/nes.html">Netscape/SunOne/Sun</a></li></ul><p><strong>AJP Protocol Reference</strong></p><ul><li><a href="../ajp/ajpv13a.html">AJPv13</a></li><li><a href="../ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul><p><strong>Miscellaneous Documentation</strong></p><ul><li><a href="../miscellaneous/faq.html">Frequently asked questions</a></li><li><a href="../miscellaneous/changelog.html">Changelog</a></li><li><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Tomcat+Connectors&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Current Tomcat Connectors bugs</a></li><li><a href="../miscellaneous/doccontrib.html">Contribute documentation</a></li><li><a href="../miscellaneous/jkstatustasks.html">JK Status Ant Tasks</a></li><li><a href="../miscellaneous/reporttools.html">Reporting Tools</a></li><li><a href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html">Old JK/JK2 documentation</a></li></ul><p><strong>News</strong></p><ul><li><a href="../news/20110701.html">2011</a></li><li><a href="../news/20100101.html">2010</a></li><li><a href="../news/20090301.html">2009</a></li><li><a href="../news/20081001.html">2008</a></li><li><a href="../news/20070301.html">2007</a></li><li><a href="../news/20060101.html">2006</a></li><li><a href="../news/20050101.html">2005</a></li><li><a href="../news/20041100.html">2004</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left"><table border="0" width="100%" cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connector - Reference Guide</h1><h2>workers.properties configuration</h2></td><td align="right" valign="top" nowrap="true"><small><a href="printer/workers.html"><img src="../images/printer.gif" border="0" alt="Printer Friendly Version"><br>print-friendly<br>version - </a></small></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -A <b>Tomcat worker</b> is a Tomcat instance that is waiting to execute servlets or any other content -on behalf of some web server. For example, we can have a web server such as -Apache forwarding servlet requests to a Tomcat process (the worker) running behind it. -</p> -<p> -The scenario described above is a very simple one; -in fact one can configure multiple Tomcat workers to serve servlets on -behalf of a certain web server. -The reasons for such configuration can be: -</p> -<ul> -<li> -We want different contexts to be served by different Tomcat workers to provide a -development environment where all the developers share the same web server but -own a Tomcat worker of their own. -</li> -<li> -We want different virtual hosts served by different Tomcat processes to provide a -clear separation between sites belonging to different companies. -</li> -<li> -We want to provide load balancing, meaning run multiple Tomcat workers each on a -machine of its own and distribute the requests between them. -</li> -</ul> - -<p> -There are probably more reasons for having multiple workers but I guess that this list is enough... -</p> -<p> -Tomcat workers are defined in a properties file dubbed <b>workers.properties</b> and this tutorial -explains how to work with it. -</p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Configuration File Basics"><strong>Configuration File Basics</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>Defining workers to the Tomcat web server plugin can be done using a properties file -(a sample file named workers.properties is available in the conf/ directory). -</p> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Format, Comments, Whitespace"><strong>Format, Comments, Whitespace</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The lines in the file define properties. The general format is -</p> -<p><strong><name>=<value></strong></p> -<p> -</p> -Dots are used as part of the name to represent a configuration hierarchy. -<p> -Invalid directives will be logged during web server startup and prevent the web server -from working properly. Some directives have been deprecated. Although they will -still work, you should replace them by their -<a href="#Deprecated Worker Directives">successors</a>. -</p> -<p> -Some directives are allowed multiple times. This will be explicitly -noted in the tables below. -</p> -<p> -Whitespace at the beginning and the end of a property name or value gets ignored. -Comments can be placed in any line and start with a hash sign '#'. -Any line contents behind the hash sign get ignored. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Global Properties"><strong>Global Properties</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -These directives have global scope. -</p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>worker.list</code></strong></td><td align="center" valign="center"><code>ajp13</code></td><td align="left" valign="center"> -A comma separated list of workers names that the JK will use. When starting up, -the web server plugin will instantiate the workers whose name appears in the -worker.list property, these are also the workers to whom you can map requests. -<p> -This directive can be used multiple times. -</p> -</td></tr><tr><td align="left" valign="center"><code>worker.maintain</code></td><td align="center" valign="center"><code>60</code></td><td align="left" valign="center"> -Worker connection pool maintain interval in seconds. If set to the positive -value JK will scan all connections for all workers specified in worker.list -directive and check if connections needs to be recycled. -<p> -Furthermore any load balancer does a global maintenance every worker.maintain -seconds. During global maintenance load counters are decayed and workers -in error are checked for recover_time. -</p> -<p> -This feature has been added in <b>jk 1.2.13</b>. -</p> -</td></tr></table> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Worker Properties"><strong>Worker Properties</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -Each worker configuration directive consists of three words separated by a dot: -</p> -<p><strong>worker.<worker name>.<directive>=<value></strong></p> -<p> -The first word is always <b>worker</b>. -The second word is the worker name you can choose. In the case of load-balancing, -the worker name has an additional meaning. Please consult the -<a href="../generic_howto/loadbalancers.html">Load Balancer HowTo</a>. -</p> -<p><font color="#ff0000"> -The name of the worker can contain only the alphanumeric characters -<b>[a-z][A-Z][0-9][_\-]</b> and is case sensitive. -</font></p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Variables, Environment Variables"><strong>Variables, Environment Variables</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -You can define and use variables in the workers.properties file. -To define a variable you use the syntax: -</p> -<p><strong><variable_name>=<value></strong></p> -<p> -Dots are allowed in the variable name, but you have to be careful -not to use variable names, that clash with standard directives. -Therefore variable names should never start with "worker.". -</p> -<p> -To use a variable, you can insert "$(variable_name)" at any place -on the value side of a property line. If a variable has not been -defined before its use, we will search the process environment for -a variable with the same name and use their value. -</p> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Property Inheritance"><strong>Property Inheritance</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>Often one wants to use the same property values for various workers. -To reduce duplication of configuration lines and to ease the maintenance of -the file, you can inherit properties from one worker to another, or even -from a template to real workers. -</p> -<p> -The directive "reference" allows to copy configurations between workers -in a hierarchical way. If worker castor sets <b>worker.castor.reference=worker.pollux</b> -then it inherits all properties of <b>pollux</b>, except for the ones that -are explicitly set for <b>castor</b>. -</p> -<p> -Please note, that the value of the directive is not only the name of the referred worker, -but the complete prefix including "worker.". -</p> -<p> -To use a template worker simply define it like a real worker, but do not add it -to the "worker.list" or as a member to any load balancer. Such a template worker -does not have to contain mandatory directives. This approach is especially useful, -if one has a lot of balanced workers in a load balancer -and these workers share most of their properties. You can set all of these properties -in a template worker, e.g. using the prefix "worker.template1", and then simply -reference those common properties in all balanced workers. -</p> -<p> -References can be used to inherit properties over multiple hops in a hierarchical way. -</p> -<p> -This feature has been added in <b>jk 1.2.19</b>. -</p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="List of All Worker Directives"><strong>List of All Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Mandatory Directives"><strong>Mandatory Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>Mandatory directives are the one that each worker <b>must</b> contain. Without them the worker will -be unavailable or will misbehave. Those directives will be marked with a <strong>strong</strong> font in the following tables. -</p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>type</code></strong></td><td align="center" valign="center"><code>ajp13</code></td><td align="left" valign="center"> -Type of the worker (can be one of ajp13, ajp14, jni, lb or status). The type of the worker -defines the directives that can be applied to the worker. -<p>AJP13 worker is the preferred worker type that JK uses for communication -between web server and Tomcat. This type of worker uses sockets as communication -channel. For detailed description of the AJP13 protocol stack browse to -<a href="../ajp/ajpv13a.html">AJPv13 protocol specification</a> -</p> -<p><font color="#ff0000">JNI workers have been deprecated. They will likely not work. Do not use them.</font></p> -</td></tr></table> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Connection Directives"><strong>Connection Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>Connection directives defines the parameters needed to connect and maintain -the connections pool of persistent connections between JK and remote Tomcat. -</p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>host</code></td><td align="center" valign="center"><code>localhost</code></td><td align="left" valign="center"> -Host name or IP address of the backend Tomcat instance. The remote Tomcat must -support the ajp13 protocol stack. The host name can have a <b>port</b> number -embedded separated by the colon (':') character. -</td></tr><tr><td align="left" valign="center"><code>port</code></td><td align="center" valign="center"><code>8009</code></td><td align="left" valign="center"> -Port number of the remote Tomcat instance listening for defined protocol requests. -The default value depends on the worker type. For AJP13 workers the default port is -<b>8009</b>, while for AJP14 type of worker that value is <b>8011</b>. -</td></tr><tr><td align="left" valign="center"><code>socket_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Socket timeout in seconds used for the communication channel between JK and remote host. -If the remote host does not respond inside the timeout specified, JK will generate an error, -and retry again. If set to zero (default) JK will wait for an infinite amount of time -on all socket operations. -</td></tr><tr><td align="left" valign="center"><code>socket_connect_timeout</code></td><td align="center" valign="center"><code>socket_timeout*1000</code></td><td align="left" valign="center"> -Socket connect timeout in milliseconds used for the communication channel between JK and remote host. -If the remote host does not respond inside the timeout specified, JK will generate an error, -and retry again. -<p> -Note that <b class="code">socket_timeout</b> is in seconds, and -<b class="code">socket_connect_timeout</b> in milliseconds, -so in absolute terms the default <b class="code">socket_connect_timeout</b> is -equal to <b class="code">"socket_timeout</b>. -</p> -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>socket_keepalive</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -This directive should be used when you have a firewall between your webserver -and the Tomcat engine, who tend to drop inactive connections. This flag will tell the Operating System -to send <b class="code">KEEP_ALIVE</b> messages on inactive connections (interval depend on global OS settings, -generally 120 minutes), and thus prevent the firewall to cut inactive connections. -To enable keepalive set this property value to <b>True</b>. -<p> -The problem with Firewall cutting inactive connections is that sometimes, neither webserver or Tomcat -have information about the cut and couldn't handle it. -</p> -</td></tr><tr><td align="left" valign="center"><code>ping_mode</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -This flag determines, under which conditions established -connections are probed to ensure they are still working. -The probe is done with an empty AJP13 packet (CPing) and -expects to receive an appropriate answer (CPong) within -some timeout. -<p> -The value of the flag can be any combination of the following -flags (multiple values are combined without any separators): -</p> -<p><b>C</b> (connect): If set, the connection will -be probed once after connecting to the backend. The timeout -can be set by <b class="code">connect_timeout</b>. If it is not set, -the value of <b class="code">ping_timeout</b> will be used instead. -</p> -<p><b>P</b> (prepost): If set, the connection will -be probed before sending each request to the backend. The timeout -can be set by <b class="code">prepost_timeout</b>. If it is not set, -the value of <b class="code">ping_timeout</b> will be used instead. -</p> -<p><b>I</b> (interval): If set, the connection will -be probed during the regular internal maintenance cycle, -but only if it is idle longer than -<b class="code">connection_ping_interval</b>. The timeout -can be set by <b class="code">ping_timeout</b>. -</p> -<p><b>A</b> If set, all of the above probes will be used. -</p> -<p> -This feature has been added in <b>jk 1.2.27</b>. Connect and -prepost probing were already available via <b class="code">connect_timeout</b> -and <b class="code">prepost_timeout</b> since version <b>jk 1.2.6</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>ping_timeout</code></td><td align="center" valign="center"><code>10000</code></td><td align="left" valign="center"> -Timeout in milliseconds used when waiting for the CPong answer of a -CPing connection probe. The activation of the probes is done via -<b class="code">ping_mode</b>. The timeouts for <b class="code">ping_mode</b> -connect and prepost can be overwritten individually via -<b class="code">connect_timeout</b> and <b class="code">prepost_timeout</b>. -<p> -For compatibility reasons, CPing/CPong is also used, whenever -<b class="code">connect_timeout</b> or <b class="code">prepost_timeout</b> are set, -even if <b class="code">ping_mode</b> is empty. -</p> -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>connection_ping_interval</code></td><td align="center" valign="center"><code>0 / (ping_timeout/1000)*10</code></td><td align="left" valign="center"> -When using interval connection probing, connections idle for longer than this -interval in seconds are probed by CPing packets whether they still work. -<p>Interval probing can be activated either by <b class="code">ping_mode</b>, -or by setting <b class="code">connection_ping_interval</b> to some value bigger -than zero. If you activate interval probing via <b class="code">ping_mode</b>, -then the default value of <b class="code">connection_ping_interval</b> is -<b class="code">(ping_timeout/1000) * 10</b>. Note that <b class="code">ping_timeout</b> -is in milliseconds, and <b class="code">connection_ping_interval</b> in seconds, -so in absolute terms the default <b class="code">connection_ping_interval</b> is -10 times <b class="code">ping_timeout</b>. -</p> -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>connection_pool_size</code></td><td align="center" valign="center"><code>see text</code></td><td align="left" valign="center"> -This defines the number of connections made to the AJP backend that -are maintained as a connection pool. -It will limit the number of those connection that each web server child -process can made. -<p> -Connection pool size property is only used for multi threaded -web servers such as Apache, IIS and Netscape/Sun. The connection_pool_size property -needs to reflect the number of requests one web server process should -be able to send to a backend in parallel. Usually this is the same as -the number of threads per web server process. JK will discover -this number for the Apache web server automatically and set the pool size to -this value. For IIS the default value is 250 (before version 1.2.20: 10), -for Netscape/Sun the default value is 1. -</p> -<p>We strongly recommend adjusting this value for IIS and the Netscape/Sun -to the number of requests one web server process should -be able to send to a backend in parallel. You should measure how many connections -you need during peak activity without performance problems, and then add some -percentage depending on your growth rate. Finally you should check, -whether your web server processes are able to use at least as many threads, -as you configured as the pool size. -</p> -<p><font color="#ff0000">Do not use connection_pool_size with values higher then 1 on <b>Apache 2.x prefork</b> or <b>Apache 1.3.x</b>!</font></p> -</td></tr><tr><td align="left" valign="center"><code>connection_pool_minsize</code></td><td align="center" valign="center"><code>(pool+1)/2</code></td><td align="left" valign="center"> -Minimum size of the connection pool that will be maintained. -<p> -Its default value is (connection_pool_size+1)/2. -</p> -<p><font color="#ff0000">Do not use connection_pool_size with values higher then 1 on <b>Apache 2.x prefork</b> or <b>Apache 1.3.x</b>!</font></p> -<p> -This feature has been added in <b>jk 1.2.16</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>connection_pool_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Cache timeout property should be used with <b>connection_pool_minsize</b> to specify how many seconds JK should keep -an inactive socket in cache before closing it. This property should be used to reduce the number of threads -on the Tomcat web server. The default value zero disables the closing (infinite timeout). -<p> -Each child could open an ajp13 connection if it has to forward a request to Tomcat, creating -a new ajp13 thread on Tomcat side. -</p> -<p> -The problem is that after an ajp13 connection is created, the child won't drop it -until killed. And since the webserver will keep its childs/threads running -to handle high-load, even it the child/thread handle only static contents, you could -finish having many unused ajp13 threads on the Tomcat side. -</p> -<p> -You should keep this time interval in sync with the <b>connectionTimeout</b> attribute -of your AJP connector in Tomcat's server.xml. Note however, that the value -for mod_jk is given in seconds, the one in server.xml has to use milliseconds. -</p> -</td></tr><tr><td align="left" valign="center"><code>connection_acquire_timeout</code></td><td align="center" valign="center"><code>retries*retry_interval</code></td><td align="left" valign="center"> -Timeout the worker will wait for a free socket in cache before giving up. -<p> -Its default value is <b>retries * retry_interval</b>. -</p> -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>lbfactor</code></td><td align="center" valign="center"><code>1</code></td><td align="left" valign="center"> -Only used for a member worker of a load balancer. -<p> -The integer number lbfactor (load-balancing factor) is -<i>how much we expect this worker to work</i>, or -<i>the worker's work quota</i>. Load balancing factor is compared with other workers -that makes the load balancer. For example if one worker has lb_factor 5 times higher then -other worker, then it will receive five times more requests. -</p> -</td></tr></table> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Load Balancing Directives"><strong>Load Balancing Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>Load balancer is a virtual worker that does not really communicate with Tomcat workers. -Instead it is responsible for the management of several "real" workers. -The worker is supposed to be a load balancer if it's worker type is <b>lb</b>. -See worker's <b>type</b> directive. -</p> -<p>Loadbalancer directives define the parameters needed to create the workers that are -connecting to a remote cluster of backend Tomcat servers. Each cluster node has to -have a worker defined. -</p> -<p> -Load balancer management includes: -</p> - -<ul> -<li> -Instantiating the workers in the web server. -</li> -<li> -Using the worker's load-balancing factor, perform weighed-round-robin load balancing where -high lbfactor means stronger machine (that is going to handle more requests) -</li> -<li> -Keeping requests belonging to the same session executing on the same Tomcat worker. -</li> -<li> -Identifying failed Tomcat workers, suspending requests to them and instead fall-backing on -other workers managed by the lb worker. -</li> -</ul> - -<p> -The overall result is that workers managed by the same lb worker are load-balanced -(based on their lbfactor and current user session) and also fall-backed so a single -Tomcat process death will not "kill" the entire site. -</p> -<p><font color="#ff0000"> -If you want to use session stickiness, you must set different jvmRoute attributes -in the Engine element in Tomcat's server.xml. Furthermore the names of the workers -which are managed by the balancer have to be equal to the jvmRoute of the Tomcat -instance they connect with. -</font></p> -<p> -The restriction on the worker names can be lifted, if you use the route attribute for the workers. -</p> -<p> -The following table specifies properties that the lb worker can accept: -</p> - -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>balance_workers</code></strong></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -A comma separated list of workers that the load balancer -need to manage. -<p> -This directive can be used multiple times for the same load balancer. -</p> -<p> -This directive replaces old <b>balanced_workers</b> directive and -can be used only with mod_jk versions 1.2.7 and up. -</p> -<p><font color="#ff0000">As long as these workers should only be used via the load balancer worker, -there is no need to also put them into the <b>worker.list</b> property.</font></p> -</td></tr><tr><td align="left" valign="center"><code>sticky_session</code></td><td align="center" valign="center"><code>True</code></td><td align="left" valign="center"> -Specifies whether requests with SESSION ID's should be routed back to the same -Tomcat worker. If sticky_session is set to <b>True</b> or <b>1</b> sessions are sticky, otherwise -sticky_session is set to <b>False</b>. Set sticky_session to <b>False</b> when Tomcat -is using a Session Manager which can persist session data across multiple -instances of Tomcat. -</td></tr><tr><td align="left" valign="center"><code>sticky_session_force</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -Specifies whether requests with SESSION ID's for workers that are in error state -should be rejected. If sticky_session_force is set to <b>True</b> or <b>1</b> -and the worker that matches that SESSION ID is in error state, client will -receive 500 (Server Error). If set to <b>False</b> or <b>0</b> failover on -another worker will be issued with loosing client session. This directive is -used only when you set <b>sticky_session=True</b>. -<p> -This feature has been added in <b>jk 1.2.9</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>method</code></td><td align="center" valign="center"><code>Request</code></td><td align="left" valign="center"> -Specifies what method load balancer is using for electing the best worker. -Please note, that session stickiness and perfect load balancing are -conflicting targets, especially when the number -of sessions is small, or the usage of sessions is extremely varying -For huge numbers of sessions this usually is not a problem. -<p> -Some methods note, that they aggregate in a sliding time window. They add up -accesses, and on each run of the global maintain method, the load counters -get divided by 2. Usually this happens once a minute, depending on the -setting of worker.maintain. The value of the load counters can be inspected -using the status worker. -</p> -<p> -If method is set to <b>R[equest]</b> the balancer will use number of requests -to find the best worker. Accesses will be distributed according to the -lbfactor in a sliding time window. This is the default value and should be -working well for most applications. -</p> -<p> -If method is set to <b>S[ession]</b> the balancer will use number of sessions -to find the best worker. Accesses will be distributed according to the -lbfactor in a sliding time window. Because the balancer does not keep any state, -it actually does not know the number of sessions. Instead it counts each request -without a session cookie or URL encoding as a new session. This method will neither -know, when a session is being invalidated, nor will it correct its load numbers -according to session timeouts or worker failover. This method should be used, -if sessions are your limiting resource, e.g. when you only have limited memory -and your sessions need a lot of memory. -</p> -<p> -If set to <b>T[raffic]</b> the balancer will use -the network traffic between JK and Tomcat to find the best worker. -Accesses will be distributed according to the lbfactor in a sliding time window. -This method should be used, if network to and from the backends is your -limiting resource. -</p> -<p> -If set to <b>B[usyness]</b> the balancer will -pick the worker with the lowest current load, based on how many requests the -worker is currently serving. This number is divided by the workers lbfactor, -and the lowest value (least busy) worker is picked. This method is especially -interesting, if your request take a long time to process, like for a download -application. -</p> -<p> -This feature has been added in <b>jk 1.2.9</b>. -The Session method has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>lock</code></td><td align="center" valign="center"><code>Optimistic</code></td><td align="left" valign="center"> -Specifies what lock method the load balancer will use for synchronising -shared memory runtime data. -If lock is set to <b>O[ptimistic]</b> balancer will not use shared memory lock -to find the best worker. If set to <b>P[essimistic]</b> balancer will use -shared memory lock. The balancer will work more accurately in case of -Pessimistic locking, but can slow down the average response time. -<p> -This feature has been added in <b>jk 1.2.13</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>retries</code></td><td align="center" valign="center"><code>2</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive also exists for normal workers. -For those it has a <a href="#Advanced Worker Directives">different meaning</a>.</font></p> -If the load balancer can not get a valid member worker or in case of failover, -it will try again a number of times given by <b>retries</b>. -Before each retry, it will make a pause define by <b>retry_interval</b> directive. -<p> -Until version <b>1.2.16</b> the default value was 3. -</p> -</td></tr></table> - -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Status Worker Directives"><strong>Status Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -The status worker does not communicate with Tomcat. -Instead it is responsible for the load balancer management. -</p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>css</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -Specifies the url for cascading stylesheet to use. -</td></tr><tr><td align="left" valign="center"><code>read_only</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -A status worker with read_only=True will not allow any operations, -that change the runtime state or configuration of the other workers. -These are edit/update/reset/recover. -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>user</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -It is a list of users -which gets compared to the user name authenticated by the web server. -If the name is not contained in this list, access is denied. Per -default the list is empty and then access is allowed to anybody. -<p> -This directive can be used multiple times. -</p> -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>user_case_insensitive</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -By default, the user names are matched case sensitively. You can set -user_case_insensitive=True to make the comparison case insensitive. -This may be especially useful on the Windows platform. -<p> -This feature has been added in <b>jk 1.2.21</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>good</code></td><td align="center" valign="center"><code>a.o,a.n,a.b,a.r</code></td><td align="left" valign="center"> -For every load balancer worker, the status worker shows a summary -of the state of its members. There are three such states, -"good", "bad" and "degraded". -<p> -These states are determined depending on the activation of the members -(active, disabled, stopped) and their runtime state -(ok, n/a, busy, recovering, probing, forced recovery, error). -By default, members are assumed to be "good", if their activation -is "active" and their runtime state is not "error". -</p> -<p> -You can change this mapping, by assigning a list of values to the -attribute "good". Each value gives a possible match for the members, -and one match suffices. Each value is either a single character, or two -characters combined with a dot ".". The single characters are the -first characters in the words "active", "disabled", "stopped", -"ok", "na", "busy", "recovering", "error". The additional states "probing" -and "forced recovery" are always rated equivalent to "recovering". -If a value consists only -of a single character, then all members with this activation or runtime -state will be assumed good. A combination of an activation and a runtime -state concatenated with a dot "." does only apply to a member, that has -exactly this activation and state. -</p> -<p> -Members of a load balancer will first be matched against the state "bad", -if they don't match, the state "good" will be tried, and if they -still don't match, their state will be "degraded". -</p> -<p> -This directive can be used multiple times. -</p> -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>bad</code></td><td align="center" valign="center"><code>s,e</code></td><td align="left" valign="center"> -See: "good". -<p> -By default, members are assumed to be "bad", if their activation -is "stopped" or their runtime state is "error". -</p> -<p> -This directive can be used multiple times. -</p> -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>prefix</code></td><td align="center" valign="center"><code>worker</code></td><td align="left" valign="center"> -The prefix, which will be used by the status worker -when producing properties output (mime=prop). -Each property key will be prefixed by this value. -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>ns</code></td><td align="center" valign="center"><code>jk:</code></td><td align="left" valign="center"> -This directive can be used to customise the XML output from the -status worker. If set to <b>-</b> no namespace will be used. -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>xmlns</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -This directive can be used to customise the XML output from the -status worker. If set to <b>-</b> no xmlns will be used. -<p> -Default value is set to xmlns:jk="http://tomcat.apache.org" -</p> -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>doctype</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -This directive can be used to customise the XML output from the -status worker. This value will be inserted to the output xml -after the xml header. -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -</td></tr></table> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Advanced Worker Directives"><strong>Advanced Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p> -This table lists more advanced configuration options. Most of them only apply to -some types of workers. We use the abbreviations <b>AJP</b> for ajp13/ajp14 workers -used directly via the workers.list, <b>LB</b> for load balancer workers, -and <b>SUB</b> for the workers used indirectly in a load balancer worker -as a sub worker or member. -</p> -<table border="1" cellpadding="5"><tr><th width="10%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Worker Type</font></th><th width="8%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="72%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>connect_timeout</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Connect timeout property told webserver to send a PING request on ajp13 connection after -connection is established. The parameter is the delay in milliseconds to wait for the PONG reply. -The default value zero disables the timeout (infinite timeout). -<p> -This features has been added in <b>jk 1.2.6</b> to avoid problem with hung Tomcat's and require ajp13 -ping/pong support which has been implemented on Tomcat <b>3.3.2+, 4.1.28+ and 5.0.13+</b>. -Disabled by default. -</p> -</td></tr><tr><td align="left" valign="center"><code>prepost_timeout</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Prepost timeout property told webserver to send a PING request on ajp13 connection before -forwarding to it a request. The parameter is the delay in milliseconds to wait for the PONG reply. -The default value zero disables the timeout (infinite timeout). -<p> -This features has been added in <b>jk 1.2.6</b> to avoid problem with hung Tomcat's and require ajp13 -ping/pong support which has been implemented on <b>Tomcat 3.3.2+, 4.1.28+ and 5.0.13+</b>. -Disabled by default. -</p> -</td></tr><tr><td align="left" valign="center"><code>reply_timeout</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -The parameter is the number of milliseconds to wait for success during a read event. -So this is not a timeout for the complete answer time of a request, but only -for the maximum time between two packets received from Tomcat. Usually the longest -pause is between sending the request and getting the first packet of the response. -<p> -If the timeout passes without any data received from Tomcat, the webserver will -no longer wait for the rest of the response and send an error to the client (browser). -Usually this does not mean, that the request is also aborted on the Tomcat backend. -If the worker is a member of a load balancer, the load balancer might place the -worker into an error state and retry the request on another member. -See also <b>max_reply_timeouts</b>, <b>retries</b> and <b>recovery_options</b>. -</p> -<p> -By default (value zero) the webserver will wait forever which could be an issue for you. -If you set a reply_timeout, adjust it carefully if you have long running servlets. -</p> -<p> -The reply_timeout can be overwritten using the Apache httpd environment variable -JK_REPLY_TIMEOUT. -</p> -<p> -This features has been added in <b>jk 1.2.6</b> to avoid problem with hung Tomcat's and works on all -servlet engines supporting ajp13. The variable JK_REPLY_TIMEOUT has been added in version <b>1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>retries</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>2</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive also exists for load balancer workers. -For those it has a <a href="#Load Balancing Directives">different meaning</a>.</font></p> -The maximum number of times that the worker will send a request to Tomcat -in case of a communication error. Each retry will be done over another -connection. The first time already gets counted, so retries=2 means -one retry after error. Before a retry, the worker waits for a configurable -sleeping time. -<p> -See also the attribute <b>recovery_options</b> for a more fine-grained control -of retries and <b>retry_interval</b> for the sleep time configuration. -</p> -<p> -Until version <b>1.2.16</b> the default value was 3. -</p> -</td></tr><tr><td align="left" valign="center"><code>retry_interval</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>100</code></td><td align="left" valign="center"> -The amount of time in milliseconds the worker sleeps before doing any retry. -<p> -This features has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>recovery_options</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Recovery options influence, how we should handle retries, -in case we detect a problem with Tomcat. -How often we will retry is controlled by the attribute <b>retries</b>. -<p> -This attribute is a bit mask. The following bits are allowed:<br> -1: don't recover if Tomcat failed after getting the request<br> -2: don't recover if Tomcat failed after sending the headers to client<br> -4: close the connection to Tomcat, if we detect an error when writing back -the answer to the client (browser)<br> -8: always recover requests for HTTP method HEAD (even if Bits 1 or 2 are set)<br> -16: always recover requests for HTTP method GET (even if Bits 1 or 2 are set)<br> -</p> -<p> -This features has been added in <b>jk 1.2.6</b>. -Option 4 has been added in version <b>1.2.16</b>, -options 8 and 16 in version <b>1.2.24</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>fail_on_status</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -Set this value to the HTTP status code that will cause a worker to fail -if returned from Servlet container. Use this directive to deal with -cases when the servlet container can temporary return non-200 responses -for a short amount of time, e.g during redeployment. -<p> -The error page, headers and status codes of the original response will not be send back -to the client. Instead the request will result in a 503 response. -If the worker is a member of a load balancer, the member will -be put into an error state. Request failover and worker recovery will be handled -with the usual load balancer procedures. -</p> -<p> -This feature has been added in <b>jk 1.2.20</b>. -</p> -<p> -Starting with <b>jk 1.2.22</b> it is possible to define multiple -status codes separated by space or comma characters. -For example: <b class="code">worker.xxx.fail_on_status=500,503</b> -</p> -<p> -Starting with <b>jk 1.2.25</b> you can also tell the load -balancer to not put a member into an error state, if a -response returned with one of the status codes in -fail_on_status. This feature gets enabled, by putting a minus sign in -front of those status codes. -For example: <b class="code">worker.xxx.fail_on_status=-404,-500,503</b> -</p> -</td></tr><tr><td align="left" valign="center"><code>max_packet_size</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>8192</code></td><td align="left" valign="center"> -This attribute sets the maximal AJP packet size in Bytes. -The maximum value is 65536. If you change it from the default, -you <b>must</b> also change the packetSize attribute of your AJP -connector on the Tomcat side! The attribute packetSize is only available -in Tomcat 5.5.20+ and 6.0.2+. -<p> -Normally it is not necessary to change the maximum packet size. Problems -with the default value have been reported when sending certificates or -certificate chains. -</p> -<p> -This feature has been added in <b>jk 1.2.19</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>mount</code></td><td align="left" valign="center"><code>AJP,LB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -Space delimited list of uri maps the worker should handle. It is only used, -if the worker is included in worker.list. -<p> -This directive can be used multiple times for the same worker. -</p> -</td></tr><tr><td align="left" valign="center"><code>secret</code></td><td align="left" valign="center"><code>AJP,LB,SUB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -You can set a secret keyword on the Tomcat AJP Connector. Then only requests -from workers with the same secret keyword will be accepted. -<p> -Use <b>request.secret="secret key word"</b> in your Tomcat AJP Connector configuration. -</p> -<p> -If you set a secret on a load balancer, all its members will inherit this secret. -</p> -<p> -This feature has been added in <b>jk 1.2.12</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>max_reply_timeouts</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -If you use a <b>reply_timeout</b> for the members of a load balancer worker, -and you want to tolerate a few requests taking longer than reply_timeout, -you can set this attribute to some positive value. -<p> -Long running requests will still time out after reply_timeout milliseconds waiting for -data, but the corresponding member worker will only be put into an error state, -if more than <b>max_reply_timeouts</b> requests have timed out. -More precisely, the counter for those bad requests will be divided by two, -whenever the load balancer does its internal maintenance (by default every 60 -seconds). -</p> -<p> -This features has been added in <b>jk 1.2.24</b> to make <b>reply_timeout</b> less -sensitive for sporadic long running requests. -</p> -</td></tr><tr><td align="left" valign="center"><code>recover_time</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>60</code></td><td align="left" valign="center"> -The recover time is the time in seconds the load balancer will not try -to use a worker, after it went into error state. Only after this time has passed, -a worker in error state will be marked as in recovering, so that it will be -tried for new requests. -<p> -This interval is not checked every time a request is being processed. -Instead it is being checked during global maintenance. The time between two -runs of global maintenance is controlled by worker.maintain. -</p> -<p> -Do not set recover_time to a very short time unless you understand the implications. -Every recovery attempt for a worker in error is done by a real request! -</p> -</td></tr><tr><td align="left" valign="center"><code>error_escalation_time</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>recover_time / 2</code></td><td align="left" valign="center"> -Setting a member of a load balancer into an error state is quite serious. E.g. -it means that if you need stickyness, all access to the sessions of the -respective node is blocked. -<p> -Some types of error detection do not provide a precise information, whether -a node is completely broken or not. In those cases an LB will not immediately -put the node into the error state. Only when there have been no successful -responses for <b>error_escalation_time</b> seconds after such an error, -will the node be put into error state. -</p> -<p> -This features has been added in <b>jk 1.2.28</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>activation</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>Active</code></td><td align="left" valign="center"> -Using this directive, a balanced worker of a load balancer -can be configured as disabled or stopped. A disabled worker only gets -requests, which belong to sessions for that worker. A stopped -worker does not get any requests. Users of a stopped worker will -loose their sessions, unless session replication via clustering is used. -<p> -Use <b>d</b> or <b>D</b> to disable and <b>s</b> or <b>S</b> to stop. -If this directive is not present the deprecated directives -"disabled" or "stopped" are used. -</p> -<p> -This flag can be changed at runtime using status worker. -</p> -<p> -This feature has been added in <b>jk 1.2.19</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>route</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>worker name</code></td><td align="left" valign="center"> -Normally the name of a balanced worker in a load balancer is equal to the jvmRoute -of the corresponding Tomcat instance. If you want to include a worker corresponding -to a Tomcat instance into several load balancers with different balancing configuration -(e.g. disabled, stopped) you can use this attribute. -<p> -Define a separate worker per lb and per Tomcat instance with an arbitrary worker name and -set the route attribute of the worker equal to the jvmRoute of the target Tomcat instance. -</p> -<p> -If this attribute is left empty, the name of the worker will be used. -</p> -<p> -This attribute can be changed at runtime using status worker. -</p> -<p> -If the route name contains a period, the part before the first period will be -used as domain name, unless domain is set explicitly. -</p> -<p> -This feature has been added in <b>jk 1.2.16</b>.<br> -The automatic domain rule has been added in <b>jk 1.2.20</b>.<br> -The attribute has been renamed from jvm_route to route in <b>jk 1.2.20</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>distance</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -An integer number to express preferences between -the balanced workers of an lb worker. -A load balancer will never choose some balanced worker -in case there is another usable worker with lower distance. -<p> -Only in case all workers below a given distance are in error, disabled or stopped, -workers of a larger distance are eligible for balancing. -</p> -<p> -This feature has been added in <b>jk 1.2.16</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>domain</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -Domain directive can be used only when the worker is a member of the load balancer. -Workers that share the same domain name are treated as single worker. If sticky_session -is used, then the domain name is used as session route. -<p> -This directive is used for large system with more then 6 Tomcats, to be able -to cluster the Tomcats in two groups and thus lowering the session replication -transfer between them. -</p> -<p> -This feature has been added in <b>jk 1.2.8</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>redirect</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -Set to the name of the preferred failover worker. If worker matching -SESSION ID is in error state then the redirect worker will be used instead. -It will be used even if being disabled, thus offering hot standby. -<p> -If you explicitly set a route via the "route" attribute, you must set "redirect" -to this route of the preferred failover worker and not to its name. -</p> -<p> -This feature has been added in <b>jk 1.2.9</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>session_cookie</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>JSESSIONID</code></td><td align="left" valign="center"> -The name of the cookie that contains the routing identifier needed for session stickyness. -The routing identifier is everything after a "." character in the value of the cookie. -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>session_path</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>;jsessionid</code></td><td align="left" valign="center"> -The name of the path parameter that contains the routing identifier needed for -session stickyness. The routing identifier is everything after a "." character in the value -of the path parameter. -<p> -This feature has been added in <b>jk 1.2.27</b>. -</p> -</td></tr></table> -</blockquote></td></tr></table> - -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Deprecated Worker Directives"><strong>Deprecated Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<p>The following directives have been deprecated in the past. We include their documentation -in case you need to use an older version of mod_jk. We urge you to update and not use -them any more. Please migrate your existing configurations. -</p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="15%" bgcolor="#023264"><font color="#ffffff">Successor</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="60%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>cachesize</code></td><td align="center" valign="center"><code>connection_pool_size</code></td><td align="center" valign="center"><code>see text</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.16.</font></p> -Cachesize defines the number of connections made to the AJP backend that -are maintained as a connection pool. -It will limit the number of those connection that each web server child -process can make. -<p> -Cachesize property is used only for multi threaded -web servers such as Apache 2.0 (worker), IIS and Netscape. The cachesize property -should reflect the number of threads per child process. JK will discover -the number of threads per child process on Apache 2 web server with worker-mpm and set -its default value to match the ThreadsPerChild Apache directive. For IIS the default -value is 10. For other web servers than Apache or IIS this value has to be set manually. -</p> -<p><font color="#ff0000">Do not use cachesize with values higher then 1 on <b>Apache 2.x prefork</b> or <b>Apache 1.3.x</b>!</font></p> -</td></tr><tr><td align="left" valign="center"><code>cache_timeout</code></td><td align="center" valign="center"><code>connection_pool_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.16.</font></p> -Cache timeout property should be used with <b>cachesize</b> to specify how to time JK should keep -an open socket in cache before closing it. This property should be used to reduce the number of threads -on the Tomcat web server. -<p> -Each child could open an ajp13 connection if it have to forward a request to Tomcat, creating -a new ajp13 thread on Tomcat side. -</p> -<p> -The problem is that after an ajp13 connection is created, the child won't drop it -until killed. And since the webserver will keep its childs/threads running -to handle high-load, even it the child/thread handle only static contents, you could -finish having many unused ajp13 threads on the Tomcat side. -</p> -</td></tr><tr><td align="left" valign="center"><code>recycle_timeout</code></td><td align="center" valign="center"><code>connection_pool_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.16.</font></p> -The number of seconds that told webserver to cut an ajp13 connection after some time of -inactivity. When choosing an endpoint for a request and the assigned socket is open, it will be -closed if it was not used for the configured time. -It's a good way to ensure that there won't too old threads living on Tomcat side, -with the extra cost you need to reopen the socket next time a request be forwarded. -This property is very similar to <b>cache_timeout</b> but works also in non-cache mode. -If set to value zero (default) no recycle will took place. -</td></tr><tr><td align="left" valign="center"><code>balanced_workers</code></td><td align="center" valign="center"><code>balance_workers</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.7.</font></p> -A comma separated list of workers that the load balancer -need to manage. -</td></tr><tr><td align="left" valign="center"><code>disabled</code></td><td align="center" valign="center"><code>activation</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.19.</font></p> -If set to <b>True</b> or <b>1</b> the worker will be disabled if member -of load balancer. This flag can be changed at runtime using status worker. -<p> -This feature has been added in <b>jk 1.2.9</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>stopped</code></td><td align="center" valign="center"><code>activation</code></td><td align="center" valign="center"><code>False</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.19.</font></p> -If set to <b>True</b> or <b>1</b> the worker will be stopped if member -of load balancer. The flag is needed for stop complete traffic of a sticky session -worker. It is only useful, when you have a cluster that replicated the sessions. -This flag can be changed at runtime using status worker. -<p> -This feature has been added in <b>jk 1.2.11</b>. -</p> -</td></tr><tr><td align="left" valign="center"><code>jvm_route</code></td><td align="center" valign="center"><code>route</code></td><td align="center" valign="center"><code>worker name</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.20.</font></p> -Normally the name of a balanced worker in a load balancer is equal to the jvmRoute -of the corresponding Tomcat instance. If you want to include a worker corresponding -to a Tomcat instance into several load balancers with different balancing configuration -(e.g. disabled, stopped) you can use this attribute. -<p> -Define a separate worker per lb and per Tomcat instance with an arbitrary worker name and -set the jvm_route attribute of the worker equal to the jvmRoute of the target Tomcat instance. -</p> -<p> -If this attribute is left empty, the name of the worker will be used. -</p> -<p> -This attribute can be changed at runtime using status worker. -</p> -<p> -This feature has been added in <b>jk 1.2.16</b>. -</p> -</td></tr></table> -</blockquote></td></tr></table> - -</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2011, Apache Software Foundation - </em></font></div></td></tr></table></body></html>
\ No newline at end of file |