Modified: tomcat/site/trunk/docs/connectors-doc/reference/workers.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/connectors-doc/reference/workers.html?rev=1912268&r1=1912267&r2=1912268&view=diff ============================================================================== --- tomcat/site/trunk/docs/connectors-doc/reference/workers.html (original) +++ tomcat/site/trunk/docs/connectors-doc/reference/workers.html Tue Sep 12 19:18:35 2023 @@ -1,7 +1,7 @@ <!DOCTYPE html SYSTEM "about:legacy-compat"> -<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>The Apache Tomcat Connectors - Reference Guide (1.2.48) - workers.properties configuration</title><meta name="author" content="Mladen Turk"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>The Apache Tomcat Connectors - Reference Guide</h1><div class="versionInfo"> - Version 1.2.48, - <time datetime="2020-03-09">Mar 9 2020</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li></ul></div><div><h2>Common HowTo</h2><ul><li><a href="../common_howto/quick.html">Quick Start</a></li><li><a href="../common_howto/workers.html">All About Workers</a></li><li><a href="../common_howto/timeouts.html">Timeouts</a></li><li><a href="../common_howto/loadbalancers.html">Load Balancing</a></li><li><a href="../common_howto/proxy.html">Reverse Proxy</a></li></ul></div><div><h2>Web Server HowTo</h2><ul><li><a href="../webserver_howto/apache.html">Apache HTTP Server (mod_jk)</a></li><li><a href="../webserver_howto/iis.html">Microsoft IIS (ISAPI redirector)</a></li><li><a href="../webserver_howto/nes.html">iPlanet Web Server (NSAPI redirector)</a></li></ul></div><div><h2>Reference Guide</h2><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 (mod_jk)</a></li><li><a href="../reference/iis.html">Microsoft IIS (ISAPI redirector)</a></li></ul></div><div><h2>AJP Protocol Reference</h2><ul><li><a href="../ajp/ajpv13a.html">AJPv13 (ajp13)</a></li><li><a href="../ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul></div><div><h2>Miscellaneous Documentation</h2><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=&key words_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></div><div><h2>News</h2><ul><li><a href="../news/20200201.html">2020</a></li><li><a href="../news/20180301.html">2018</a></li><li><a href="../ne ws/20150901.html">2016</a></li><li><a href="../news/20150101.html">2015</a></li><li><a href="../news/20140201.html">2014</a></li><li><a href="../news/20120301.html">2012</a></li><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></div></nav></div></div><div id="mainRight"><div id="content"><h2>workers.properties configuration</h2><h3 id="Introduction">Introduction</h3><div class="text"> +<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>The Apache Tomcat Connectors - Reference Guide (1.2.49) - workers.properties configuration</title><meta name="author" content="Mladen Turk"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>The Apache Tomcat Connectors - Reference Guide</h1><div class="versionInfo"> + Version 1.2.49, + <time datetime="2023-09-12">Sep 12 2023</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li></ul></div><div><h2>Common HowTo</h2><ul><li><a href="../common_howto/quick.html">Quick Start</a></li><li><a href="../common_howto/workers.html">All About Workers</a></li><li><a href="../common_howto/timeouts.html">Timeouts</a></li><li><a href="../common_howto/loadbalancers.html">Load Balancing</a></li><li><a href="../common_howto/proxy.html">Reverse Proxy</a></li></ul></div><div><h2>Web Server HowTo</h2><ul><li><a href="../webserver_howto/apache.html">Apache HTTP Server (mod_jk)</a></li><li><a href="../webserver_howto/iis.html">Microsoft IIS (ISAPI redirector)</a></li></ul></div><div><h2>Reference Guide</h2><ul><li><a href="../reference/workers.html">workers.properties</a></li><li><a href="../ref erence/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 (mod_jk)</a></li><li><a href="../reference/iis.html">Microsoft IIS (ISAPI redirector)</a></li></ul></div><div><h2>AJP Protocol Reference</h2><ul><li><a href="../ajp/ajpv13a.html">AJPv13 (ajp13)</a></li><li><a href="../ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul></div><div><h2>Miscellaneous Documentation</h2><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></ul></div><div><h2>News</h2><ul><li><a href="../news/20230101.html">2023</a></li><li><a href="../news/20200201.html">2020</a></li><li><a href="../news/20180301.html">2018</a></li><li><a href="../news/20160901.html">2016</a></li><li><a href="../news/20150101.html">2015</a></li><li><a href="../news/20140201.html">2014</a></li><li><a href="../n ews/20120301.html">2012</a></li><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></div></nav></div></div><div id="mainRight"><div id="content"><h2>workers.properties configuration</h2><h3 id="Introduction">Introduction</h3><div class="text"> <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 @@ -61,7 +61,7 @@ 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 '#'. +Comments can be placed in any line and start with a hash sign '<b>#</b>'. Any line contents behind the hash sign get ignored. </p> <p> @@ -86,18 +86,18 @@ These directives have global scope. </th></tr><tr><td><strong><code class="attributeName">worker.list</code></strong></td><td style="text-align:center"><code>ajp13</code></td><td> 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. +<b>worker.list</b> 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><code class="attributeName">worker.maintain</code></td><td style="text-align:center"><code>60</code></td><td> 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 +value JK will scan all connections for all workers specified in <b>worker.list</b> directive and check if connections needs to be recycled. <p> -Furthermore any load balancer does a global maintenance every worker.maintain +Furthermore any load balancer does a global maintenance every <b>worker.maintain</b> seconds. During global maintenance load counters are decayed and workers -in error are checked for recover_time. +in error are checked for <b>recover_time</b>. </p> <p> This feature has been added in <b>jk 1.2.13</b>. @@ -124,17 +124,17 @@ The name of the worker can contain only <div class="subsection"><h4 id="Variables,_Environment_Variables">Variables, Environment Variables</h4><div class="text"> <p> -You can define and use variables in the workers.properties file. +You can define and use variables in the <b>workers.properties</b> 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.". +Therefore variable names should never start with "<b>worker.</b>". </p> <p> -To use a variable, you can insert "$(variable_name)" at any place +To use a variable, you can insert "<b>$(variable_name)</b>" 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. @@ -148,22 +148,22 @@ the file, you can inherit properties fro from a template to real workers. </p> <p> -The directive "reference" allows to copy configurations between workers or -worker templates in a hierarchical way. If worker castor sets +The directive "<b>reference</b>" allows to copy configurations between workers or +worker templates in a hierarchical way. If worker <b>castor</b> 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.". +but the complete prefix including "<b>worker.</b>". </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 +to the <b>worker.list</b> 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 +in a template worker, e.g. using the prefix "<b>worker.template1</b>", and then simply reference those common properties in all balanced workers. </p> <p> @@ -187,7 +187,7 @@ be unavailable or will misbehave. Those </th><th style="width: 75%;"> Description </th></tr><tr><td><strong><code class="attributeName">type</code></strong></td><td style="text-align:center"><code>ajp13</code></td><td> -Type of the worker (can be one of ajp12, ajp13, ajp14, jni, lb or status). The type of the worker +Type of the worker (can be one of <b>ajp12</b>, <b>ajp13</b>, <b>ajp14</b>, <b>jni</b>, <b>lb</b> or <b>status</b>). The type of the worker defines the directives that can be applied to the worker. <p>Type <b>ajp13</b> is the preferred worker type that JK uses for communication between web server and Tomcat. This type of worker uses sockets as communication @@ -240,7 +240,7 @@ and retry again. Note that <code>socket_timeout</code> is in seconds, and <code>socket_connect_timeout</code> in milliseconds, so in absolute terms the default <code>socket_connect_timeout</code> is -equal to <code>"socket_timeout</code>. +equal to <code>socket_timeout</code>. </p> <p> This feature has been added in <b>jk 1.2.27</b>. @@ -324,16 +324,15 @@ It will limit the number of those connec process can made. <p> Connection pool size property is only used for multi threaded -web servers such as the Apache HTTP Server, Microsoft IIS and the iPlanet Web Server. +web servers such as the Apache HTTP Server and Microsoft IIS. 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 HTTP Server automatically and set the pool size to -this value. For IIS the default value is 250 (before version 1.2.20: 10), -for iPlanet the default value is 1. +this value. For IIS the default value is 250 (before version 1.2.20: 10). </p> -<p>We strongly recommend adjusting this value for IIS and iPlanet +<p>We strongly recommend adjusting this value for IIS 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 @@ -385,7 +384,7 @@ Only used for a member worker of a load 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 +that makes the load balancer. For example if one worker has <b>lbfactor</b> 5 times higher then other worker, then it will receive five times more requests. </p> </td></tr></table> @@ -472,7 +471,7 @@ environment variable <b>JK_STICKY_IGNORE </p> </td></tr><tr><td><code class="attributeName">sticky_session_force</code></td><td style="text-align:center"><code>false</code></td><td> 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> +should be rejected. If <b>sticky_session_force</b> is set to <b>true</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> failover on another worker will be issued with losing client session. This directive is @@ -515,7 +514,7 @@ environment variable <b>JK_STATELESS</b> </p> <p> If method is set to <b>N[ext]</b> the balancer will again use the number of sessions -to find the best worker. All remarks concerning the <b>Session</b>method apply as well. +to find the best worker. All remarks concerning the <b>Session</b> method apply as well. The difference to the <b>Session</b> method is how the session count is handled in the sliding time window. The <b>Next</b> method does not divide by 2, instead it subtracts the current minimum number. This should effectively result in a round-robin session @@ -704,15 +703,15 @@ This feature has been added in <b>jk 1.2 </p> </td></tr><tr><td><code class="attributeName">ns</code></td><td style="text-align:center"><code>jk:</code></td><td> This directive can be used to customise the XML output from the -status worker. If set to <b>-</b> no namespace will be used. +status worker. If set to <code>-</code> no namespace will be used. <p> This feature has been added in <b>jk 1.2.20</b>. </p> </td></tr><tr><td><code class="attributeName">xmlns</code></td><td style="text-align:center"><code>-</code></td><td> This directive can be used to customise the XML output from the -status worker. If set to <b>-</b> no xmlns will be used. +status worker. If set to <code>-</code> no xmlns will be used. <p> -Default value is set to xmlns:jk="http://tomcat.apache.org" +Default value is set to <b>xmlns:jk="http://tomcat.apache.org"</b> </p> <p> This feature has been added in <b>jk 1.2.20</b>. @@ -768,7 +767,7 @@ See also <b>max_reply_timeouts</b>, <b>r </p> <p> By default (value zero) the web server 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. +If you set a <b>reply_timeout</b>, adjust it carefully if you have long running servlets. </p> <p> The <b>reply_timeout</b> can be overwritten using the Apache HTTP Server environment variable @@ -1080,11 +1079,11 @@ It will limit the number of those connec process can make. <p> Cachesize property is used only for multi threaded -web servers such as Apache HTTP Server 2.x (all MPMs except prefork), IIS and iPlanet. The cachesize property +web servers such as Apache HTTP Server 2.x (all MPMs except prefork) and IIS. The cachesize property should reflect the number of threads per child process. JK will discover the number of threads per child process on the Apache HTTP Server with threaded MPM and set its default value to match the current ThreadsPerChild Apache configuration. For IIS the default -value is 10. For web servers other than Apache or IIS this value has to be set manually. +value is 10. </p> <warn>Do not use cachesize with values higher then 1 on <b>Apache 2.x with prefork MPM</b> or <b>Apache 1.3.x</b>!</warn> </td></tr><tr><td><code class="attributeName">cache_timeout</code></td><td><code>connection_pool_timeout</code></td><td><code>0</code></td><td> @@ -1154,5 +1153,5 @@ This feature has been added in <b>jk 1.2 </div></div> </div></div></div></div></div><footer><div id="footer"> - Copyright © 1999-2020, The Apache Software Foundation - </div></footer></div></body></html> \ No newline at end of file + Copyright © 1999-2023, The Apache Software Foundation + </div></footer></div></body></html> \ No newline at end of file
Modified: tomcat/site/trunk/docs/connectors-doc/webserver_howto/apache.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/connectors-doc/webserver_howto/apache.html?rev=1912268&r1=1912267&r2=1912268&view=diff ============================================================================== --- tomcat/site/trunk/docs/connectors-doc/webserver_howto/apache.html (original) +++ tomcat/site/trunk/docs/connectors-doc/webserver_howto/apache.html Tue Sep 12 19:18:35 2023 @@ -1,11 +1,11 @@ <!DOCTYPE html SYSTEM "about:legacy-compat"> -<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>The Apache Tomcat Connectors - Web Server HowTo (1.2.48) - Apache HTTP Server HowTo</title><meta name="author" content="Henri Gomez"><meta name="author" content="Gal Shachor"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>The Apache Tomcat Connectors - Web Server HowTo</h1><div class="versionInfo"> - Version 1.2.48, - <time datetime="2020-03-09">Mar 9 2020</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li></ul></div><div><h2>Common HowTo</h2><ul><li><a href="../common_howto/quick.html">Quick Start</a></li><li><a href="../common_howto/workers.html">All About Workers</a></li><li><a href="../common_howto/timeouts.html">Timeouts</a></li><li><a href="../common_howto/loadbalancers.html">Load Balancing</a></li><li><a href="../common_howto/proxy.html">Reverse Proxy</a></li></ul></div><div><h2>Web Server HowTo</h2><ul><li><a href="../webserver_howto/apache.html">Apache HTTP Server (mod_jk)</a></li><li><a href="../webserver_howto/iis.html">Microsoft IIS (ISAPI redirector)</a></li><li><a href="../webserver_howto/nes.html">iPlanet Web Server (NSAPI redirector)</a></li></ul></div><div><h2>Reference Guide</h2><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 (mod_jk)</a></li><li><a href="../reference/iis.html">Microsoft IIS (ISAPI redirector)</a></li></ul></div><div><h2>AJP Protocol Reference</h2><ul><li><a href="../ajp/ajpv13a.html">AJPv13 (ajp13)</a></li><li><a href="../ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul></div><div><h2>Miscellaneous Documentation</h2><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=&key words_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></div><div><h2>News</h2><ul><li><a href="../news/20200201.html">2020</a></li><li><a href="../news/20180301.html">2018</a></li><li><a href="../ne ws/20160901.html">2016</a></li><li><a href="../news/20150101.html">2015</a></li><li><a href="../news/20140201.html">2014</a></li><li><a href="../news/20120301.html">2012</a></li><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></div></nav></div></div><div id="mainRight"><div id="content"><h2>Apache HTTP Server HowTo</h2><h3 id="Introduction">Introduction</h3><div class="text"> -<p> -This document explains how to connect Tomcat to the popular open source web server, Apache HTTP Server. -You can use the connection module mod_jk with any version of Apache starting with 1.3 and any version -of Tomcat starting with (at least) 3.2. +<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>The Apache Tomcat Connectors - Web Server HowTo (1.2.49) - Apache HTTP Server HowTo</title><meta name="author" content="Henri Gomez"><meta name="author" content="Gal Shachor"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>The Apache Tomcat Connectors - Web Server HowTo</h1><div class="versionInfo"> + Version 1.2.49, + <time datetime="2023-09-12">Sep 12 2023</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li></ul></div><div><h2>Common HowTo</h2><ul><li><a href="../common_howto/quick.html">Quick Start</a></li><li><a href="../common_howto/workers.html">All About Workers</a></li><li><a href="../common_howto/timeouts.html">Timeouts</a></li><li><a href="../common_howto/loadbalancers.html">Load Balancing</a></li><li><a href="../common_howto/proxy.html">Reverse Proxy</a></li></ul></div><div><h2>Web Server HowTo</h2><ul><li><a href="../webserver_howto/apache.html">Apache HTTP Server (mod_jk)</a></li><li><a href="../webserver_howto/iis.html">Microsoft IIS (ISAPI redirector)</a></li></ul></div><div><h2>Reference Guide</h2><ul><li><a href="../reference/workers.html">workers.properties</a></li><li><a href="../ref erence/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 (mod_jk)</a></li><li><a href="../reference/iis.html">Microsoft IIS (ISAPI redirector)</a></li></ul></div><div><h2>AJP Protocol Reference</h2><ul><li><a href="../ajp/ajpv13a.html">AJPv13 (ajp13)</a></li><li><a href="../ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul></div><div><h2>Miscellaneous Documentation</h2><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></ul></div><div><h2>News</h2><ul><li><a href="../news/20230101.html">2023</a></li><li><a href="../news/20200201.html">2020</a></li><li><a href="../news/20180301.html">2018</a></li><li><a href="../news/20160901.html">2016</a></li><li><a href="../news/20150101.html">2015</a></li><li><a href="../news/20140201.html">2014</a></li><li><a href="../n ews/20120301.html">2012</a></li><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></div></nav></div></div><div id="mainRight"><div id="content"><h2>Apache HTTP Server HowTo</h2><h3 id="Introduction">Introduction</h3><div class="text"> +<p> +This document explains how to connect Tomcat to the popular open source web +server, Apache HTTP Server. You can use the connection module mod_jk with any +supported version of Apache and any supported version of Tomcat. </p> <p> @@ -57,37 +57,28 @@ A <a href="../common_howto/workers.html" <div class="subsection"><h4 id="Supported_Configuration">Supported Configuration</h4><div class="text"> <p> -The mod_jk module was developed and tested on: +The mod_jk module is supported for: +</p> <ul> -<li> -Linux, FreeBSD, AIX, HP-UX, MacOS X, Solaris and should work on major Unixes platforms -supporting Apache 1.3 and/or 2.x -</li> -<li> -WinNT4.0-i386 SP4/SP5/SP6a (should be able to work with other service packs), Win2K and WinXP and Win98 -</li> -<li> -Cygwin (until you have an Apache server and autoconf/automake support tools) -</li> -<li> -i5/OS V5R4 (System I) with Apache HTTP Server 2.0.58. Be sure to have the latest Apache PTF installed. -</li> -<li> -Tomcat 3.2 to Tomcat 8. -</li> +<li>All currently supported versions of Apache Web Server (httpd)</li> +<li>Any operating system supported by Apache Web Server</li> +<li>All currently supported versions of Tomcat</li> </ul> -</p> <p> -The mod_jk module uses the AJP protocol to send requests to the Tomcat containers. -The AJP version typically used is <b>ajp13</b>. +The mod_jk module may work with older, unsupported versions of Apache Web Server +and/or Tomcat but such configurations are not supported. </p> + </div></div> -<div class="subsection"><h4 id="Who_supports_AJP_protocols?">Who supports AJP protocols?</h4><div class="text"> +<div class="subsection"><h4 id="AJP_protocols?">AJP protocols?</h4><div class="text"> + <p> -Tomcat supports ajp13 since Tomcat 3.2. -Others servlet engines such as <b>Jetty</b> or <b>JBoss</b> also support the ajp13 protocol +The mod_jk module uses the AJP protocol to send requests to the Tomcat +containers. The AJP version used is <b>ajp13</b>. All current versions Tomcat +support the ajp13 protocol. Others servlet engines such as <b>Jetty</b> and +<b>JBoss</b> also support the ajp13 protocol. </p> <p> @@ -1185,5 +1176,5 @@ The --enable-shared=jk is also working a </div></div> </div></div></div></div></div><footer><div id="footer"> - Copyright © 1999-2020, The Apache Software Foundation - </div></footer></div></body></html> \ No newline at end of file + Copyright © 1999-2023, The Apache Software Foundation + </div></footer></div></body></html> \ No newline at end of file Modified: tomcat/site/trunk/docs/connectors-doc/webserver_howto/iis.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/connectors-doc/webserver_howto/iis.html?rev=1912268&r1=1912267&r2=1912268&view=diff ============================================================================== --- tomcat/site/trunk/docs/connectors-doc/webserver_howto/iis.html (original) +++ tomcat/site/trunk/docs/connectors-doc/webserver_howto/iis.html Tue Sep 12 19:18:35 2023 @@ -1,14 +1,14 @@ <!DOCTYPE html SYSTEM "about:legacy-compat"> -<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>The Apache Tomcat Connectors - Web Server HowTo (1.2.48) - ISAPI redirector for Micrsoft IIS HowTo</title><meta name="author" content="Henri Gomez"><meta name="author" content="Gal Shachor"><meta name="author" content="Yoav Shapira"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>The Apache Tomcat Connectors - Web Server HowTo</h1><div class="versionInfo"> - Version 1.2.48, - <time datetime="2020-03-09">Mar 9 2020</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li></ul></div><div><h2>Common HowTo</h2><ul><li><a href="../common_howto/quick.html">Quick Start</a></li><li><a href="../common_howto/workers.html">All About Workers</a></li><li><a href="../common_howto/timeouts.html">Timeouts</a></li><li><a href="../common_howto/loadbalancers.html">Load Balancing</a></li><li><a href="../common_howto/proxy.html">Reverse Proxy</a></li></ul></div><div><h2>Web Server HowTo</h2><ul><li><a href="../webserver_howto/apache.html">Apache HTTP Server (mod_jk)</a></li><li><a href="../webserver_howto/iis.html">Microsoft IIS (ISAPI redirector)</a></li><li><a href="../webserver_howto/nes.html">iPlanet Web Server (NSAPI redirector)</a></li></ul></div><div><h2>Reference Guide</h2><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 (mod_jk)</a></li><li><a href="../reference/iis.html">Microsoft IIS (ISAPI redirector)</a></li></ul></div><div><h2>AJP Protocol Reference</h2><ul><li><a href="../ajp/ajpv13a.html">AJPv13 (ajp13)</a></li><li><a href="../ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul></div><div><h2>Miscellaneous Documentation</h2><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=&key words_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></div><div><h2>News</h2><ul><li><a href="../news/20200201.html">2020</a></li><li><a href="../news/20180301.html">2018</a></li><li><a href="../ne ws/20160901.html">2016</a></li><li><a href="../news/20150101.html">2015</a></li><li><a href="../news/20140201.html">2014</a></li><li><a href="../news/20120301.html">2012</a></li><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></div></nav></div></div><div id="mainRight"><div id="content"><h2>ISAPI redirector for Micrsoft IIS HowTo</h2><h3 id="Introduction">Introduction</h3><div class="text"> +<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>The Apache Tomcat Connectors - Web Server HowTo (1.2.50) - ISAPI redirector for Micrsoft IIS HowTo</title><meta name="author" content="Henri Gomez"><meta name="author" content="Gal Shachor"><meta name="author" content="Yoav Shapira"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>The Apache Tomcat Connectors - Web Server HowTo</h1><div class="versionInfo"> + Version 1.2.49, + <time datetime="2023-09-12">Sep 12 2023</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li></ul></div><div><h2>Common HowTo</h2><ul><li><a href="../common_howto/quick.html">Quick Start</a></li><li><a href="../common_howto/workers.html">All About Workers</a></li><li><a href="../common_howto/timeouts.html">Timeouts</a></li><li><a href="../common_howto/loadbalancers.html">Load Balancing</a></li><li><a href="../common_howto/proxy.html">Reverse Proxy</a></li></ul></div><div><h2>Web Server HowTo</h2><ul><li><a href="../webserver_howto/apache.html">Apache HTTP Server (mod_jk)</a></li><li><a href="../webserver_howto/iis.html">Microsoft IIS (ISAPI redirector)</a></li></ul></div><div><h2>Reference Guide</h2><ul><li><a href="../reference/workers.html">workers.properties</a></li><li><a href="../ref erence/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 (mod_jk)</a></li><li><a href="../reference/iis.html">Microsoft IIS (ISAPI redirector)</a></li></ul></div><div><h2>AJP Protocol Reference</h2><ul><li><a href="../ajp/ajpv13a.html">AJPv13 (ajp13)</a></li><li><a href="../ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul></div><div><h2>Miscellaneous Documentation</h2><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></ul></div><div><h2>News</h2><ul><li><a href="../news/20230101.html">2023</a></li><li><a href="../news/20200201.html">2020</a></li><li><a href="../news/20180301.html">2018</a></li><li><a href="../news/20160901.html">2016</a></li><li><a href="../news/20150101.html">2015</a></li><li><a href="../news/20140201.html">2014</a></li><li><a href="../n ews/20120301.html">2012</a></li><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></div></nav></div></div><div id="mainRight"><div id="content"><h2>ISAPI redirector for Micrsoft IIS HowTo</h2><h3 id="Introduction">Introduction</h3><div class="text"> <p> This document explains how to set up the ISAPI redirector for IIS to cooperate with Tomcat. </p> <p> -Normally IIS can not execute Servlets and Java Server Pages (JSPs), -configuring IIS to use the ISAPI redirector plugin will let IIS send servlet and +Normally IIS can not execute Servlets and Java Server Pages (JSPs). +Configuring IIS to use the ISAPI redirector plugin will let IIS send servlet and JSP requests to Tomcat (and this way, serve them to clients). </p> @@ -52,20 +52,28 @@ A worker is defined to be a tomcat proce The IIS to Tomcat redirector is supported for: </p> <ul> -<li>IIS running on Windows 8.1 or later</li> -<li>IIS running on Windows Server 2012 or later</li> -<li>Tomcat 7 or later</li> +<li>IIS running on any currently supported version of Windows</li> +<li>All currently supported versions of Tomcat</li> </ul> <p> -The redirector may work with IIS running on older versions of Windows but such -configurations are not supported. +The redirector may work with IIS running on older, unsupported versions of +Windows and/or Tomcat but such configurations are not supported. +</p> + +</div></div> + +<div class="subsection"><h4 id="AJP_protocols?">AJP protocols?</h4><div class="text"> + +<p> +The redirector uses the AJP protocol to send requests to the Tomcat containers. +The AJP version used is <b>ajp13</b>. All current versions Tomcat support the +ajp13 protocol. Others servlet engines such as <b>Jetty</b> and <b>JBoss</b> +also support the ajp13 protocol. </p> <p> -The mod_jk module uses the AJP protocol to send requests to the Tomcat -containers. The AJP version used is <b>ajp13</b>. All current versions Tomcat -support the ajp13 protocol. Others servlet engines such as <b>Jetty</b> and -<b>JBoss</b> also support the ajp13 protocol. +The <b>ajp12</b> protocol has been <b>deprecated</b> and you should no longer use it. +The <b>ajp14</b> protocol is considered experimental. </p> </div></div> @@ -141,8 +149,8 @@ Adding more contexts to the configuratio <div class="subsection"><h4 id="Configuring_the_ISAPI_Redirector">Configuring the ISAPI Redirector</h4><div class="text"> <p>These instructions have been written based on Windows Server 2012 R2 and -tested with all supported Windows operating systems up to Windows 10 / Windows -Server 2019. +tested with all supported Windows operating systems up to Windows 11 / Windows +Server 2022. </p> <p> @@ -300,17 +308,17 @@ to your uriworkermap.properties file (fo <div class="subsection"><h4 id="64_Bit_notes">64 Bit notes</h4><div class="text"> <p> -In a 64 Bit environment the used IIS Application Pool should have "Enable 32-bit +In a 64-bit environment the IIS Application Pool should have "Enable 32-bit Applications" set to "False". To check this, select <b>Application Pools</b> in the IIS management console, then right-click on the pool you are using and -select <b>Set Application Pool Defaults...</b>. <b>Enable 32-Bit +select <b>Set Application Pool Defaults...</b>. <b>Enable 32-bit Applications</b> may be found in the <b>General</b> section. If this is not configured correctly, the redirector will not be called and IIS will return an HTTP code 404. </p> <p> You must use the 64-bit version of the ISAPI redirector on 64-bit operating -systems. If you attempt to use the 32bit version, you will get an HTTP code 500 +systems. If you attempt to use the 32-bit version, you will get an HTTP code 500 for every request because the library is not loadable into a 64-bit IIS. </p> </div></div> @@ -323,7 +331,7 @@ but you will also need to add your own c <p> <ol> <li> -Adding the context to Tomcat (I am not going to talk about this). +Adding the context to Tomcat (not discussed here). </li> <li> Adding the context to the ISAPI redirector. @@ -339,40 +347,46 @@ your uriworkermap.properties and to add </code></pre></div> <p> -Workers and their name are defined in workers.properties, by default workers.properties comes -with a single pre-configured worker named <b>"defworker"</b> so you can use it. -As an example, if you want to add a context named "shop", the line that you should add to -uriworkermap.properties will be: +Workers and their name are defined in workers.properties. As an example, if you +want to add a context named "shop", to be served by the worker named "tomcat01" +the line that you should add to uriworkermap.properties will be: </p> -<div class="codeBox"><pre><code>/shop/*=defworker +<div class="codeBox"><pre><code>/shop/*=tomcat01 </code></pre></div> -After saving uriworkermap.properties restart IIS and it will serve the new context. +After saving uriworkermap.properties restart IIS and it will serve the new +context. <p> -The above should be all you need for IIS to pass through to Tomcat any request for any URI which corresponds -to a Tomcat context (webapp). +The above should be all you need for IIS to pass through to Tomcat any request +for any URI which corresponds to a Tomcat context (webapp). </p> </div></div> <div class="subsection"><h4 id="Advanced_Context_Configuration">Advanced Context Configuration</h4><div class="text"> <p> -If your webiste is very busy (more than 100 requests/second, or more than 100 simultaneous client connections), -it might sometimes be desirable to have IIS serve static content (html, gif, jpeg etc.) directly, -even if these files are part of a context served by Tomcat. Allowing IIS to serve such files directly may - avoid the small overhead consisting of passing the request to Tomcat via the redirector, and may free up - Tomcat somewhat, by using it only to process requests that only Tomcat can handle (e.g. requests to JSP pages and java servlets). -</p> -<p> -For example, consider the html and gif files in the examples context: you could serve these files directly -with IIS; there is no need to serve them from the Tomcat process. -</p> -<warn>However, you should be very careful when you implement the following configuration style, because by doing so you are -in fact providing a "back-door" to IIS, and allowing it to serve files out of a Tomcat context without Tomcat's knowledge, -thus bypassing any security -restrictions which Tomcat itself and the Tomcat context (webapp) may place on those files.</warn> +If your website is very busy (more than 100 requests/second, or more than 100 +simultaneous client connections), it might sometimes be desirable to have IIS +serve static content (html, gif, jpeg etc.) directly, even if these files are +part of a context served by Tomcat. Allowing IIS to serve such files directly +may avoid the small overhead consisting of passing the request to Tomcat via +the redirector, and may free up Tomcat somewhat, by using it only to process +requests that only Tomcat can handle (e.g. requests to JSP pages and java +servlets). +</p> +<p> +For example, consider the html and gif files in the examples context: you could +serve these files directly with IIS; there is no need to serve them from the +Tomcat process. +</p> +<warn>However, you should be very careful when you implement the following +configuration style, because by doing so you are in fact providing a "back-door" +to IIS, and allowing it to serve files out of a Tomcat context without Tomcat's +knowledge, thus bypassing any security restrictions which Tomcat itself and the +Tomcat context (webapp) may place on those files.</warn> <p> -Making IIS serve static files that are part of the Tomcat contexts requires the following: +Making IIS serve static files that are part of the Tomcat contexts requires the +following: <ol> <li> Configuring IIS to know about the Tomcat contexts @@ -384,66 +398,73 @@ Configuring the redirector to leave the </p> <p> -Adding a Tomcat context to IIS requires the addition of a new IIS virtual directory that covers the Tomcat context. -For example adding a /example IIS virtual directory that covers the c:\tomcat\webapps\examples directory. +Adding a Tomcat context to IIS requires the addition of a new IIS virtual +directory that covers the Tomcat context. For example adding a /example IIS +virtual directory that covers the c:\tomcat\webapps\examples directory. </p> <p> -Configuring the redirector is somewhat harder, you will need to specify the exact -URL-Path pattern(s) which you want Tomcat to handle (usually only JSP files and servlets). -This requires a change to the uriworkermap.properties: +Configuring the redirector is somewhat harder, you will need to specify the +exact URL-Path pattern(s) which you want Tomcat to handle (usually only JSP +files and servlets). This requires a change to the uriworkermap.properties: <div class="codeBox"><pre><code>For the examples context it requires to replace the following line -/examples/*=defworker +/examples/*=tomcat01 with the following two lines -/examples/*.jsp=defworker -/examples/servlet/*=defworker +/examples/*.jsp=tomcat01 +/examples/servlet/*=tomcat01 </code></pre></div> </p> <p> -As you can see the second configuration is more explicit, it actually instruct the redirector -to redirect only requests to resources under /examples/servlet/ and resources under /examples/ -whose name ends with .jsp. +As you can see the second configuration is more explicit, it actually instruct +the redirector to redirect only requests to resources under /examples/servlet/ +and resources under /examples/ whose name ends with .jsp. </p> <p> You can even be more explicit and provide lines such as: -<div class="codeBox"><pre><code>/example/servlets/chat=defworker +<div class="codeBox"><pre><code>/example/servlets/chat=tomcat01 </code></pre></div> </p> <p> -that instructs the redirector to redirect all requests whose URL-path matches the leading string "/example/servlets/chat" -to the worker named defworker. +that instructs the redirector to redirect all requests whose URL-path matches +the leading string "/example/servlets/chat" to the worker named tomcat01. </p> </div></div> <div class="subsection"><h4 id="Protecting_the_content_of_your_Tomcat_contexts">Protecting the content of your Tomcat contexts</h4><div class="text"> -<p>Once again, be aware that by allowing IIS to access the content of your Tomcat context directly, you are -potentially bypassing Tomcat's protection of that content. You should thus make sure to protect this content -at the IIS level if needed, by using the corresponding IIS management console functions. +<p>Once again, be aware that by allowing IIS to access the content of your +Tomcat context directly, you are potentially bypassing Tomcat's protection of +that content. You should thus make sure to protect this content at the IIS level +if needed, by using the corresponding IIS management console functions. </p> <p> -In particular, each servlet application (context) has a special directory named WEB-INF, -which contains sensitive configuration data and Java classes, and which should always be kept hidden from web users. -Using the IIS management console it is possible to protect the WEB-INF directory from user access, but considering that -this is a general requirement, and considering that it is easy to forget to implement this protection -at the IIS level, the ISAPI redirector plugin does it automatically for you, and it will reject any request -which contains WEB-INF in its URL path. It will also reject any request which contains META-INF in its URL path. +In particular, each servlet application (context) has a special directory named +WEB-INF, which contains sensitive configuration data and Java classes, and which +should always be kept hidden from web users. Using the IIS management console +it is possible to protect the WEB-INF directory from user access, but +considering that this is a general requirement, and considering that it is easy +to forget to implement this protection at the IIS level, the ISAPI redirector +plugin does it automatically for you, and it will reject any request which +contains WEB-INF in its URL path. It will also reject any request which contains +META-INF in its URL path. </p> </div></div> <div class="subsection"><h4 id="Advanced_Worker_Configuration">Advanced Worker Configuration</h4><div class="text"> <p> -Sometimes you may want to serve different contexts with different Tomcat processes -(for example to spread the load among different machines). -To achieve such a goal you will need to define several workers and assign each context to its own worker. +Sometimes you may want to serve different contexts with different Tomcat +processes (for example to spread the load among different machines). To achieve +such a goal you will need to define several workers and assign each context to +its own worker. </p> <p> -Defining additional workers is done in the workers.properties file. This file includes two types of entries: +Defining additional workers is done in the workers.properties file. This file +includes two types of entries: </p> <p> @@ -460,8 +481,8 @@ worker.worker2.type=ajp13 </p> <p> -The above example defined two workers, now we can use these workers to serve two different contexts -each with its own worker: +The above example defined two workers, now we can use these workers to serve two +different contexts each with its own worker: <div class="codeBox"><pre><code>example uriworkermap.properties fragment /examples/*=worker1 /webpages/*=worker2 @@ -474,325 +495,183 @@ As you can see the <b>examples</b> conte </p> <p> -More information on using and configuring workers in the <a href="../common_howto/workers.html">Workers HowTo</a> -and in the <a href="../reference/workers.html">worker.properties configuration reference</a>. +More information on using and configuring workers in the +<a href="../common_howto/workers.html">Workers HowTo</a> and in the +<a href="../reference/workers.html">worker.properties configuration reference</a>. </p> </div></div> </div><h3 id="Building_the_ISAPI_redirector">Building the ISAPI redirector</h3><div class="text"> <p> -The redirector was developed using Microsoft Visual C++, so having Visual Studio installed -is a prerequisite if you want to perform your own build.</p> -<p> -You can build the source using the IDE GUI, or using a pure -commandline build based on nmake. The IDE build currently only -supports building 32 Bit binaries. The nmake builds are available -for 32 Bit, 64 Bit and Itanium binaries. +To build the ISAPI redirector you will need Mladen's Custom Microsoft Compiler. +The remainder of this document assumes this installed to c:\cmsc. </p> <p> -The common steps for all build procedures are: +The steps to build the ISAPI redirector are: <ul> <li> -Set up your build environment for 32 Bits or 64 Bits. -The IDE build only supports 32 Bits. -</li> -<li> Download the sources as a zip file and unpack it. </li> <li> Change directory to the ISAPI redirector source directory. </li> -</ul> -<screen> -<note>Set up 32 or 64 Bit build environment</note> -<typedos>setenv /Release /X86</typedos> -<note>or (not available for IDE build)</note> -<typedos>setenv /Release /X64</typedos> -<note>Download tomcat-connectors-xxx-src.zip from</note> -<note>https://tomcat.apache.org/download-connectors.cgi</note> -<note>and unpack it</note> -<typedos>unzip tomcat-connectors-xxx-src.zip</typedos> -<note>Change directory to the ISAPI redirector source directory</note> -<typedos>cd tomcat-connectors-xxx-src\native\iis</typedos> -</screen> -</p> -<p> -The steps for an IDE build are then: -<ul> -<li> -Start Visual Studio using "start isapi.dsw" -</li> <li> -During IDE startup choose "Yes" in all conversion popups. -</li> -<li> -Next choose "Debug" or "Release" in the Configuration dropdown. -</li> -<li> -Finally choose "Build Solution" in the "Build" menu. +<div class="codeBox"><pre><code>c:\cmsc\setenv.bat x86 +nmake -f Makefile.vc +c:\cmsc\setenv.bat x64 +nmake -f Makefile.vc +</code></pre></div> </li> </ul> -The resulting file isapi_redirect.dll (and the debug symbol file -isapi_redirect.pdb) is located in the "Debug" resp. "Release" sub -directory depending on the build Configuration chosen. As an -intermediate step the build first creates a static PCRE library -named pcre.lib in the sub directory "pcre/LibD" resp. "pcre/LibR". </p> <p> -Alternatively the steps for an nmake commandline build are: -<ul> -<li> -Issue "nmake -f Makefile.x86" for a 32 Bit build, or -</li> -<li> -Issue "nmake -f Makefile.amd64" for a 64 Bit build -</li> -</ul> The resulting file isapi_redirect.dll (and the debug symbol file -isapi_redirect.pdb) is located in the "Release_x86" or "Release_amd64" -sub directory. As an intermediate step the build first creates a static -PCRE library named pcre.lib in the sub directory "pcre/Release_x86" or -"pcre/Release_amd64". +isapi_redirect.pdb) is located in the "x86_RELEASE" or "x64_RELEASE" +sub directory. </p> </div><h3 id="Troubleshooting">Troubleshooting</h3><div class="text"> <p> -It is easy to have the ISAPI redirector not work the first time you try to install it. +It is easy to have the ISAPI redirector not work the first time you try to +install it. </p> <p> -If this happens to you, here are some steps to follow to try to correct the problem. +If this happens to you, here are some steps to follow to try to correct the +problem. </p> <p> -These steps aren't guaranteed to cover all possible problems, -but they should help find the typical mistakes. +These steps aren't guaranteed to cover all possible problems, but they should +help find the typical mistakes. </p> <p> -If you make any corrections during these steps, restart the IIS service as described above in the last step -of the installation, then retry the step. +If you make any corrections during these steps, restart the IIS service as +described above in the last step of the installation, then retry the step. </p> -<p>To enable error tracking, make sure web site activity is being logged. -For PWS 4.0 make sure "Save Web Site Activity Log" is checked in the Advanced Options of the Personal Web Manager. -</p> - <p> -Note: These steps assume your <b>worker_mount_file</b> setting points to an unmodified copy of the -<b>uriworkermap.properties</b> file.<br> -Results may be misleading if <b>worker_mount_file</b> points to a modified <b>uriworkermap.properties</b> -or the <b>uriworkermap.properties-auto</b> file.<br> -It is also assumed that the <b>"/examples" context</b> works correctly if you access Tomcat directly. +Note: These steps are based on the configuration used in the installation +instructions that proxies requests for the examples web application to a single +Tomcat instance. It is also assumed that the <b>"/examples" context</b> works +correctly if you access Tomcat directly. </p> -<div class="subsection"><h4 id="Win98">Win98</h4><div class="text"> +<div class="subsection"><h4 id="Diagnostics_steps">Diagnostics steps</h4><div class="text"> <p> -Start the IIS service and Tomcat. +Delete (or move elsewhere) the ISAPI redirector log file if present. </p> <p> -Check for the presence of the ISAPI redirector log file you specified in the log_file setting. -If not found, verify the following: +Start the IIS service and Tomcat. </p> +<p> +Check for the presence of the ISAPI redirector log file at the specified +location. If not found, that indicates that the ISAPI redirector has not started +correctly. This is usually caused by incorrect configuration settings. <ul> <li> -Check the "Filter DLLs" setting in the "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters" -key and make sure the path is correct. +Check your configuration carefully against the installation instructions, +particularly the location, name and contents of the +<b>${tomcat_home}\isapi\isapi_redirect.properties</b> file. </li> <li> -Check the spelling of the "HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0" key. -Case isn't important, but an incorrect letter will prevent the isapi_redirect.dll from finding its registry settings. +If using the registry based configuration, check the path, name and values of +the registry keys. Registry names are not case sensitive. </li> <li> -Check the log_file setting for typos, name and data. Also insure the directory in which the log file will appear already exists. +Check that the directory specified for the log file exists and that the file +permissions have been configured as per the installation instructions. </li> -If the above are set correctly, the ISAPI redirector should be able to create the log file. </ul> +If the above are set correctly, the ISAPI redirector should be able to create +the log file. +</p> + <p> -Invoke the URL <a href="http://localhost/examples/">http://localhost/examples/</a> -in your browser. -Case is important in Tomcat. The characters following "localhost" in the URL must be lower case. -If the page fails to appear, stop the IIS service (required to view the IIS log file). -Then examine the last line in the IIS log file in found in SYSTEM/LogFiles/W3SVC1: +Invoke the URL +<a href="http://localhost/examples/">http://localhost/examples/</a> in your +browser. Case is important in URLs. The characters following "localhost" in the +URL must be lower case. If the page fails to appear, stop the IIS service +(required to view the IIS log file). Then examine the last line in the IIS log +file in found in C:\inetpub\logs\LogFiles\W3SVC1: </p> <p> If the last line contains: -</p> <div class="codeBox"><pre><code>GET "/examples/ HTTP/1.1" 404 </code></pre></div> -<p> -then the ISAPI redirector is not recognising that it should be handling requests for the "/examples" context. -Check the following: -</p> -<ul> -<li> -Check the extension_uri name for typos. -</li> -<li> -Check the worker_file setting for typos, name and data. -</li> -<li> -Check the worker_mount_file setting typos, name and data. -</li> -If these are set correctly, the ISAPI redirector should recognise that it should handle requests for the "/examples" context. -</ul> - -<p>If the last line contains something like: +then the ISAPI redirector is not recognising that it should be handling requests +for the "/examples" context. </p> - +<p> +If the last line contains something like: <div class="codeBox"><pre><code>GET "/jakarta/isapi_redirect.dll HTTP1.1" </code></pre></div> - -<p> -then the ISAPI redirector is recognising that it should handle the request, -but is not successful at getting Tomcat to service the request. +then the ISAPI redirector is recognising that it should handle the request, but +is not successful at getting Tomcat to service the request. </p> - <p> -You should check the HTTP error code following GET "/...": -</p> - -<div class="codeBox"><pre><code>Error 404 - GET "/..." 404 -</code></pre></div> - -<ul> -<li> -Make sure you entered the URL correctly. -</li> -<li> -Make sure the virtual directory created was called "jakarta". -It should display in Personal Web Manager as "/jakarta" (without the quotes). -</li> -<li> -Make sure the extension_uri data begins with "/jakarta/" (without the quotes). -</li> -</ul> - -<div class="codeBox"><pre><code>Error 500 -GET "/..." 500 -</code></pre></div> - -<ul> -<li> -Make sure that "isapi_redirect.dll" follows "/jakarta/" in the extension_uri setting. -</li> -<li> -Check the workers.properties file and make sure the port setting for worker.ajp13.port is the same as the port specified in the server.xml for the "AJP" connector. -</li> -</ul> - -<div class="codeBox"><pre><code>Error 200 or 403 -GET "/..." 200 -GET "/..." 403 -</code></pre></div> - +Check the following: <ul> <li> -Make sure you have checked Execute Access -for the jakarta virtual directory in the Advanced Options of the Personal Web Manager. +Check your configuration carefully against the installation instructions, +particularly the name of the virtual directory and the location, name and +contents of the <b>${tomcat_home}\isapi\uriworkermap.properties</b> and +<b>${tomcat_home}\isapi\workers.properties</b> files. </li> +If these are set correctly, the ISAPI redirector should recognise that it should +handle requests for the "/examples" context. </ul> - -<p> -If the above settings are correct, the index.html page should appear in your browser. -You should also be able to click the links to execute some Servlet or JSP examples. </p> -</div></div> - -<div class="subsection"><h4 id="WinNT/Win2K/WinXP">WinNT/Win2K/WinXP</h4><div class="text"> -<p> -Start the World Wide Web Publishing Service and Tomcat. -</p> <p> -Check for the presence of the ISAPI redirector log file you specified in the log_file setting. -If not found, check the following: -</p> +If the browser shows a 503 error page then the ISAPI redirector is recognising +that it should handle the request but is not receiving a timely response from +Tomcat. Check the following: <ul> <li> -Check the "executable" you set for the filter in the IIS Management Console and make sure the path is correct. -</li> -<li>Check the spelling of the "HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0" key. -Case isn't important, but an incorrect letter will prevent the isapi_redirect.dll from finding its registry settings. +Check your configuration carefully against the installation instructions, +particularly the location, name and +<b>${tomcat_home}\isapi\workers.properties</b> file. </li> <li> -Check the log_file setting for typos, name and data. Also insure the directory in which the log file will appear already exists. +Check the AJP connector configuration in Tomcta matches the configuration in the +<b>${tomcat_home}\isapi\workers.properties</b> file. </li> -If the above are set correctly, the ISAPI redirector should be able to create the log file. </ul> - -<p> -Check the tomcat filter you added and make sure its status shows a green upward-pointing arrow. -If not, check the following: </p> -<ul> -<li> -Check the worker_file setting for typos, name and data. -</li> -<li> -Check the worker_mount_file setting typos, name and data. -</li> -If the above are set correctly, the green upward-pointing arrow should appear, even if the other settings are wrong. -</ul> <p> -Invoke the URL <a href="http://localhost/examples/">http://localhost/examples/</a> -in your browser. Case is important in Tomcat. The characters following "localhost" in the URL must be lower case. -If the page fails to appear, examine the last line in the IIS server log file in found in SYSTEM32/LogFiles/W3SVC1. +If the browser shows a 500 error page then an internal error has occurred within +IIS or the ISAPI redirector when trying to serve the request. There should be a +textual description of the error towards the top of the page and an 8-digit hex +error code towards the end of the page. The last four digits should be the +standard windows error code associated with the problem. </p> <p> -The last line should contain something like: GET "/jakarta/isapi_redirect.dll HTTP1.1", -which indicates the ISAPI redirector is recognising that it should handle the request. +A common cause of 500 errors is Windows creating configuration files with hidden +".txt" file extensions that are not shown in Windows Explorer. Even if file +extensions are shown for other files, double check to make sure that Windows +Explorer is configured to show file extensions for all files. </p> <p> -You should check the HTTP error code following GET "/...": +If the error message is <b>Calling GetFilterVersion on ISAPI filter +"...isapi_redirect.dll" failed</b> and the code is <b>0x8007047e</b> then the +code translates to an error code 0x047e or 1150 which is "The specified program +requires a newer version of Windows". Together these indicate that the +initialisation of the ISAPI redirector failed because the configuration could +not be read - either from <b>${tomcat_home}\isapi\isapi_redirect.properties</b> +of from the registry. Check the name location and contents of the +<b>${tomcat_home}\isapi\isapi_redirect.properties</b> file or the registry keys +as appropriate. </p> -<div class="codeBox"><pre><code>Error 404 -GET "/..." 404 -</code></pre></div> - -<ul> -<li> -Make sure you entered the URL correctly. -</li> -</ul> - -<div class="codeBox"><pre><code>Error 500 -GET "/..." 500 -</code></pre></div> - -<ul> -<li> -Make sure the virtual directory created was called "jakarta". -</li> -<li> -Make sure that the extension_uri setting is correct. -</li> -<li> -Check the workers.properties file and make sure the port setting for worker.ajp13.port is the same as the port specified in the server.xml for the "AJP" connector. -</li> -</ul> - -<div class="codeBox"><pre><code>Error 200 or 403 -GET "/..." 200 -GET "/..." 403 -</code></pre></div> - -<ul> -<li> -Make sure you have checked Execute Access for the jakarta virtual directory in the -Advanced Options of the Personal Web Manager. -</li> -</ul> - <p> If the above settings are correct, the index.html page should appear in your browser. You should also be able to click the links to execute some Servlet or JSP examples. </p> -</div></div> +</div></div> </div></div></div></div></div><footer><div id="footer"> - Copyright © 1999-2020, The Apache Software Foundation - </div></footer></div></body></html> \ No newline at end of file + Copyright © 1999-2023, The Apache Software Foundation + </div></footer></div></body></html> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
