You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2012/03/25 21:52:06 UTC
svn commit: r1305109 [3/6] - in /tomcat/site/trunk/docs/tomcat-3.2-doc: ./
appdev/ appdev/sample/ appdev/sample/etc/ appdev/sample/src/
appdev/sample/web/ appdev/sample/web/images/ uguide/ uguide/images/
Added: tomcat/site/trunk/docs/tomcat-3.2-doc/in-process-howto.html
URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-3.2-doc/in-process-howto.html?rev=1305109&view=auto
==============================================================================
--- tomcat/site/trunk/docs/tomcat-3.2-doc/in-process-howto.html (added)
+++ tomcat/site/trunk/docs/tomcat-3.2-doc/in-process-howto.html Sun Mar 25 19:52:05 2012
@@ -0,0 +1,267 @@
+<html>
+
+<head>
+<title>In-Process Howto</title>
+</head>
+
+<body>
+
+<h1>In-Process HowTo</h1>
+
+<p>By Gal Shachor <shachor@il.ibm.com></p>
+
+<p>This document explains how to set up Netscape/IIS web servers so that
+Tomcat will run inside the web server process. <b>It assumes that you have
+already followed the instructions in the web server specific howto and
+configured it to use Tomcat as an out of process servlet container.</b>
+</p>
+
+<p>
+Normally Tomcat is running in one process and the web servers runs in another;
+this however requires the web server to communicate using some IPC mechanism
+such as TCP/IP. <br>
+
+When Tomcat is running inside the web server process, requests for servlet
+execution are passed using JNI (and performance improves).
+</p>
+
+<p>
+<b>Note:</b> Running the JVM inside the web server is not always a good
+idea. Sure it gives the best performance, but is lacks the stability
+associated with the out of process mode of operation. When deciding to run
+in-process make sure that top speed is what you need.
+</p>
+
+<h2>Document Conventions and Assumptions</h2>
+
+<p><tomcat_home> is the root directory of tomcat. Your Tomcat
+installation should have the following subdirectories:
+
+<ol>
+ <li><tomcat_home>\conf - Where you can place various configuration files</li>
+ <li><tomcat_home>\webapps - Containing example applications </li>
+ <li><tomcat_home>\bin - Where you place web server plugins </li>
+</ol>
+
+<p>In all the examples in this document <tomcat_home> will be c:\jakarta-tomcat.</p>
+
+<p>A <tt>worker</tt> is defined to be a Tomcat process that accepts work from
+the web server.</p>
+
+<h2>Supported Configuration</h2>
+
+<p>For in-process operation you will have to use the Netscape/IIS
+redirectors, look at their supported configuration sections.
+
+<p>The in-process adapter has been tested using JDK 1.1.7b, IBM's JDK 1.1.7, JDK 1.1.8,
+JDK 1.2.2., and JDK 1.3.</p>
+
+<h2>Installation</h2>
+
+<p>As of Tomcat 3.2, a pre-built version of the in-process adapter,
+<tt>jni_connect.dll</tt>, is available under the win32/i386 directory where you
+downloaded the <a href="http://jakarta.apache.org/downloads/binindex.html">
+Tomcat binary distribution.</a> For those using Netscape as your browser, try
+downloading a zip version of the file, if available. There can be problems using
+Netscape to download DLL files.</p>
+
+<p>The Tomcat JNI adapter requires the following actions:
+
+<ol>
+ <li>Putting jni_connect.dll under the bin directory - jni_connect.dll is used
+ to issue callbacks from Tomcat back to the web server, either obtain a
+ pre-built DLL or build it yourself (see the build section).</li>
+ <li>Update <tt>workers.properties</tt> and add the JNI worker - The JNI worker
+ needs several configuration items, you will need to add those to the worker
+ properties file.</li>
+ <li>Updating server.xml - You need to instruct Tomcat to use the JNI
+ connection handlers. You will also need to provide the home property for
+ your ContextManager (later on the log files and work directories will
+ be created under this home). </li>
+ <li>Directing context(s) to the in-process Tomcat - You need to instruct
+ the redirector to send work to the in-process Tomcat</li>
+ <li>Restart your server (so changes will take effect)</li>
+</ol>
+
+
+<h3>Putting jni_connect.dll under the bin directory</h3>
+
+<p> Put jni_connect.dll inside
+ <tt><tomcat_home>\bin\win32\i386\</tt>.
+</p>
+
+<h3>Update workers.properties and add the JNI worker</h3>
+<p> You should provide the JNI worker with several settings, some are
+mandatory and some are an option...
+</p>
+<p><b>Note:</b> The following instructions assume Tomcat is installed at c:\jakarta-tomcat.
+Adjust them appropriately to your Tomcat installation directory.</p>
+<ol>
+ <li>You <b>should</b> define a JNI worker.<br>
+ Set the <tt>worker.list</tt> property to point on a worker named <tt>jni</tt>:
+ <tt>worker.list=jni</tt><br>
+ Announce that the worker named <tt>jni</tt> is of type <tt>jni</tt>:
+ <tt>worker.jni.type=jni</tt>
+ <li>You <b>should</b> set a classpath to be use by the in-process Tomcat.<br>
+ To set the classpath use the <tt>worker.name.class_path</tt> property,
+ for example:<br>
+ <tt>worker.jni.class_path=c:\jakarta-tomcat\classes</tt><br>
+ <tt>worker.jni.class_path=c:\jakarta-tomcat\lib\jaxp.jar</tt><br>
+ <tt>worker.jni.class_path=c:\jakarta-tomcat\lib\parser.jar</tt><br>
+ <tt>worker.jni.class_path=c:\jakarta-tomcat\lib\jasper.jar</tt><br>
+ <tt>worker.jni.class_path=c:\jakarta-tomcat\lib\servlet.jar</tt><br>
+ <tt>worker.jni.class_path=c:\jakarta-tomcat\lib\webserver.jar</tt><br>
+ <tt>worker.jni.class_path=c:\jdk1.2.2\lib\tools.jar</tt><br>
+ <b>Note</b>: Do not forget to include the JDK's tools.jar in your classpath.
+ </li>
+ <li>You <b>should</b> provide a full path to the dll implementing the JVM.
+ For JDK1.1.x it is javai.dll, for JDK1.2.x it is jvm.dll. For example:<br>
+ <tt>worker.jni.jvm_lib=c:\jdk1.2.2\jre\bin\classic\jvm.dll</tt>
+ </li>
+ <li>You <b>should</b> provide command line options for Tomcat; you must provide
+ a -config option to specify your JNI configured server.xml. For example:<br>
+ <tt>worker.jni.cmd_line=-config</tt><br>
+ <tt>worker.jni.cmd_line=c:\jakarta-tomcat\conf\jni_server.xml</tt><br>
+ <b>Note:</b> The cmd_line string doesn't support embedded spaces. If the
+ path to the jni_server.xml file includes spaces, use the DOS 8.3 name for
+ directories that would otherwise contain a space.</li>
+ <li>You <b>should</b> specify the tomcat home location as a Java system
+ properties. For example:<br>
+ <tt>worker.jni.sysprops=tomcat.home=c:\jakarta-tomcat</tt>
+ </li>
+ <li>You can specify additional Java system properties. For example:<br>
+ <tt>worker.jni.sysprops=java.compiler=NONE</tt>
+ </li>
+ <li>You can specify files to by used by the JVM for stdout and stderr.
+ For example:<br>
+ <tt>worker.jni.stdout=c:\jakarta-tomcat\logs\jvm.stdout</tt><br>
+ <tt>worker.jni.stderr=c:\jakarta-tomcat\logs\jvm.stderr</tt>
+ </li>
+ <li>You can specify additional PATH, to be use when loading dlls (useful
+ when you are using native code). For example:<br>
+ <tt>worker.jni.ld_path=c:\SQLLIB\bin</tt><br>
+ <tt>worker.jni.ld_path=c:\my\native\code</tt>
+ </li>
+</ol>
+<p>You can find a sample worker file (<tt>jni_workers.properties</tt>) under
+<tt>jakarta-tomcat/conf</tt>. The contents of this file assume that Tomcat is
+installed at c:\jakarta-tomcat. Modify as needed if Tomcat is installed at a
+different location.</p>
+
+<h3>Update server.xml</h3>
+<p>
+By default Tomcat reads the file <tomcat_home>\conf\server.xml. This
+file defines among other things the contexts and connectors used by Tomcat.
+In order to work in-process you will have to perform the following actions:
+</p>
+<ol>
+ <li>You should update the connectors list.<br>
+ Remove all the connectors from your server.xml and add the following
+ lines (note that you will need to update the area marked
+ with <tomcat_home>)
+ <pre>
+ <!-- JNI connector, make sure that you update the native_lib
+ Parameter to point to your jni_connect.dll
+ -->
+ <Connector className="org.apache.tomcat.service.JNIEndpointConnector">
+ <Parameter name="native_lib"
+ value="<tomcat_home>/bin/win32/i386/jni_connect.dll"/>
+ </Connector>
+ </pre>
+ These lines add a JNI connector to Tomcat.
+ <li>You should update the <tt>home</tt> attribute used by the
+ ContextManager so that the ContextManager will know where to place the
+ log, work and webapps directories. For example:
+ <pre>
+ <ContextManager debug="0" workDir="work" home="<tomcat_home>" />
+ .
+ .
+ .
+ </ContextManager />
+ </pre>
+ Again, make sure that you update <tomcat_home> to your real Tomcat
+ root.
+ </li>
+</ol>
+You can find a sample server file (<tt>jni_server.xml</tt>) under <tt>jakarta-tomcat/conf</tt>.
+
+<h3>Redirect contexts to the JNI workers</h3>
+<p>You will need to select the contexts that you wish to serve using your
+jni worker.</p>
+
+<p>On Netscape you can do that by modifying the lines in the servlet
+configuration object to reflect redirect work to the new JNI worker.
+For example:
+<pre>
+ <Object name=servlet>
+ ObjectType fn=force-type type=text/plain
+ Service fn="jk_service" worker="jni"
+ </Object>
+</pre>
+</p>
+
+<p>On IIS you will have to modify your worker mount file to mount contexts
+to the JNI worker. For example:</p>
+
+<tt>/examples/*=jni</tt>
+
+<p>When you are done restart your server. That's all, you should now be able
+to execute Tomcat in-process.</p>
+
+<h2>Building the JNI connector dll</h2>
+
+<p>The JNI connector was developed using Visual C++ Ver.6.0, so having this
+environment is a prereq if you want to perform a custom build. You will also
+need a JDK installation (the jre is not good enough) in order to use
+the JDK's include files.</p>
+
+<p>The steps that you need to take are:
+
+<ol>
+ <li>Change directory to the JNI connector source directory.</li>
+ <li>Make sure that the environment variable <tt>JAVA_HOME</tt> is set and
+ points to your JDK installation</li>
+ <li>Execute the following command:<br>
+ <tt>MSDEV jni_connect.dsp /MAKE ALL</tt><br>
+ If msdev is not in your path, enter the full path to msdev.exe</li>
+</ol>
+
+<p>This will build both release and debug versions of the JNI connector. </p>
+
+<p>An alternative will be to open the jni_connect workspace file
+(jni_connect.dsw) in msdev and build it using the build menu.</p>
+
+<h2>How does it work? </h2>
+Working in-process requires both the server redirector
+(IIS-Tomcat/Netscape-Tomcat) and the in-process connector. The server
+redirector can direct work to different workers based on their name; now
+that we added the JNI worker the server redirector can forward it work...
+
+The basic operation is this:
+<ol>
+ <li>During the initialization the server redirector starts the JNI worker.</li>
+ <li>Upon startup the JNI worker creates a JVM inside the web server and
+ starts Tomcat in it.</li>
+ <li>For each in-coming request for a servlet, the server redirector will
+ check which worker is responsible for the specific context. If this worker
+ is the JNI worker then the request is assigned to it.</li>
+ <li>The JNI worker attaches to the JVM and submits the request into the
+ Tomcat engine (using the JNIEndpointConnector). Tomcat will then execute
+ the request.</li>
+ <li>The server redirector collects the response from the JNI worker and
+ returns it to the browser.</li>
+</ol>
+
+
+<h2>Feedback</h2>
+
+<p>Please send feedback, bug report or any additional information to
+<tt>tomcat-dev@jakarta.apache.org</tt>.
+</p>
+
+<div align="center"><font size="-1"><pre>
+$Id: in-process-howto.html,v 1.1.2.2 2000/11/04 20:37:46 craigmcc Exp $
+</pre></font></div>
+
+</body>
+</html>
Propchange: tomcat/site/trunk/docs/tomcat-3.2-doc/in-process-howto.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: tomcat/site/trunk/docs/tomcat-3.2-doc/index.html
URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-3.2-doc/index.html?rev=1305109&view=auto
==============================================================================
--- tomcat/site/trunk/docs/tomcat-3.2-doc/index.html (added)
+++ tomcat/site/trunk/docs/tomcat-3.2-doc/index.html Sun Mar 25 19:52:05 2012
@@ -0,0 +1,105 @@
+
+<html>
+ <head>
+ <!-- $Id: index.html,v 1.5.2.6 2001/05/26 16:04:14 marcsaeg Exp $ -->
+ <!-- Copyright 1999, Apache Software Foundation -->
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <link rel="stylesheet" href="uguide/style.css">
+ <title>Tomcat Documentation</title>
+ </head>
+ <body link="#0000ff" vlink="#800080">
+ <!-- Banner element, all hail the Project! -->
+ <table border="0" width="100%" cellspacing="0" cellpadding="0">
+ <tr>
+ <td width="50%">
+ <p align="left">
+ <a href="http://jakarta.apache.org/index.html">
+ <img src="uguide/images/banner.gif"
+ width="350"
+ height="100"
+ alt="The Jakarta Project"
+ border="0"></a>
+ </td>
+ <td width="50%">
+ <p align="right"><img border="0" src="uguide/images/tomcat.gif" width="100" height="71" alt="The mighty Tomcat - Meow!"></p>
+ </td>
+ </tr>
+ </table>
+
+<h1>Tomcat Documentation*</h1>
+<ul>
+
+<li> <a href="readme">Tomcat 3.2 Release Notes</a><br>
+
+</li>
+
+<li> Using Tomcat
+ <ul>
+ <li> <A HREF="uguide/tomcat_ug.html">Tomcat User's Guide</A> - How to install,
+ configure, and deploy Tomcat.</li>
+ <li><a href="JDBCRealm.howto">JDBC Realms</a> - Use a set of
+ configurable tables inside an RDBMS to store validation data.</li>
+ <li><a href="uguide/tomcat-security.html">Using the Java SecurityManager with Tomcat</a>
+ - Use of a SecurityManager while running Tomcat can protect your server
+ from Trojan servlets, JSPs, JSP beans, and tag libraries.</li>
+ <li><a href="Tomcat-Workers-HowTo.html">Tomcat Workers</a> - How to work
+ with "Tomcat workers," and the worker.properties file.</li>
+ <li><a href="tomcat-ssl-howto.html">Tomcat and SSL</a> - Using SSL with
+ Tomcat 3.2, including configuring web connectors.<br>
+ </li>
+ </ul>
+</li>
+<li>Using Tomcat in Windows - documentation specific to running Tomcat in a
+ Win32 environment
+ <ul>
+ <li><a href="NT-Service-howto.html">The Jakarta NT Service</a> - Wrapping an
+ NT Service around Tomcat.</li>
+ <li><a href="in-process-howto.html">In-process</a> - How to set up
+ Netscape/IIS web servers so that Tomcat will run inside the web server
+ process.<br>
+ </li>
+ </ul>
+</li>
+<li>Integrating Tomcat with a Web Server
+ <ul>
+ <li><a href="tomcat-apache-howto.html">Apache</a>
+ <ul>
+ <li><a href="mod_jk-howto.html">mod_jk</a> - Installation and
+ configuration</li>
+ </ul>
+ </li>
+ <li><a href="tomcat-iis-howto.html">Internet Information Server</a></li>
+ <li><a href="tomcat-netscape-howto.html">Netscape<br>
+ </a> </li>
+ </ul>
+</li>
+<li> <A HREF="appdev/index.html">Developing Applications With Tomcat</A> -
+ The steps required to build and deploy web applications within Tomcat<br>
+
+</li>
+<li>Other Resources
+ <ul>
+ <li><a href="faq">Frequently Asked Questions</a></li>
+ <li><a href="http://jakarta.apache.org/getinvolved/mail.html">Mailing lists
+ </a></li>
+ </ul>
+</li>
+
+</ul>
+
+ <p><b>* The absolute latest Tomcat documentation can be found online at the <a href="http://jakarta.apache.org/tomcat/tomcat-3.2-doc/index.html">Tomcat
+ Documentation homepage</a>.</b></p>
+
+ <table width="100%" border="0" cellpadding="10" cellspacing="0">
+ <tr>
+ <td>
+ <p class="fineprint">
+ Copyright ©1999-2000 The Apache Software Foundation<br>
+ <a href="http://jakarta.apache.org/legal.html">Legal Stuff They Make Us Say</a><br>
+ <a href="http://jakarta.apache.org/contact.html">Contact Information</a> </p>
+ </td>
+ </tr>
+ </table>
+
+ </body>
+</html>
Propchange: tomcat/site/trunk/docs/tomcat-3.2-doc/index.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: tomcat/site/trunk/docs/tomcat-3.2-doc/mod_jk-howto.html
URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-3.2-doc/mod_jk-howto.html?rev=1305109&view=auto
==============================================================================
--- tomcat/site/trunk/docs/tomcat-3.2-doc/mod_jk-howto.html (added)
+++ tomcat/site/trunk/docs/tomcat-3.2-doc/mod_jk-howto.html Sun Mar 25 19:52:05 2012
@@ -0,0 +1,879 @@
+<html>
+<head>
+ <!-- $Id $ -->
+ <!-- Copyright 2001, Apache Software Foundation -->
+
+ <meta http-equiv=Content-Type content="text/html">
+ <link rel="stylesheet" href="uguide/style.css">
+ <style type="text/css">
+ .inlinetd {
+ background-color: #E0E0E0;
+ vertical-align: text-top;
+ border-top: thick black;
+ border-right: thick black;
+ border-bottom: thick black;
+ border-left: thick black;
+ }
+ .inlineth {
+ background-color: #d0d0d0;
+ border-top: thick black;
+ border-right: thick black;
+ border-bottom: thick black;
+ border-left: thick black;
+ }
+ .inlinetable {
+ width: 75%;
+ border: thick;
+ background-color: #000000;
+ }
+ .subsection { margin:20pt; }
+ .note { margin:20pt; padding:5pt; background-color:#e0e0ff; }
+
+ </style>
+
+<title>Working with mod_jk</title>
+</head>
+
+<body>
+<!-- Banner element, all hail the Project! -->
+<table border="0" width="100%" cellspacing="0" cellpadding="0">
+ <tr>
+ <td width="50%" align="left">
+ <a href="http://jakarta.apache.org/index.html">
+ <img src="uguide/images/banner.gif" width="350" height="100" alt="The Jakarta Project" border="0">
+ </a>
+ </td>
+ <td width="50%" align="right">
+ <img border="0" src="uguide/images/tomcat.gif" width="100" height="71" alt="The mighty Tomcat - Meow!">
+ </td>
+ </tr>
+</table>
+
+<h1>Working with mod_jk</h1>
+<p>By Gal Shachor <tt><<a href="mailto:shachor@il.ibm.com">shachor@il.ibm.com</a>></tt></p>
+
+<h2>Table of Contents</h2>
+<ul>
+<li><a href="#s2">What is mod_jk?</a></li>
+<li><a href="#s3">Why mod_jk?</a></li>
+<li><a href="#s4">What does it mean to me?</a></li>
+<li><a href="#s5">Definitions and Terminology</a></li>
+<li><a href="#s6">Obtaining mod_jk</a>
+ <ul>
+ <li><a href="#s61">mod_jk Binaries</a></li>
+ <li><a href="#s62">Building mod_jk</a></li>
+ <li><a href="#s63">Building mod_jk for NT</a></li>
+ <li><a href="#s64">Building mod_jk for Unix</a></li>
+ </ul>
+</li>
+<li><a href="#s7">Configuring Apache</a>
+<ul>
+<li><a href="#s71">Removing mod_jserv directives</a></li>
+<li><a href="#s72">Configuring Apache to use mod_jk</a></li>
+<li><a href="#s73">Assigning URLs to be redirected to Tomcat</a></li>
+</ul></li>
+<li><a href="#s8">Configuring Tomcat</a>
+ <ul>
+ <li><a href="#s81">Enabling Tomcat's Apache Auto-Config</a></li>
+ <li><a href="#s82">Configuring Tomcat to use the AJPv13 Protocol</a></li>
+ <li><a href="#s83">Defining Workers</a></li>
+ </ul>
+</li>
+<li><a href="#s9">Example Configuration</a></li>
+<li><a href="#s10">Troubleshooting and F.A.Q's</a></li>
+<li><a href="#s11">Credits</a></li>
+</ul>
+<hr>
+<h2><a name=s2>What is mod_jk?</a></h2>
+
+<p>mod_jk is a replacement to the elderly mod_jserv. It is a completely new
+Tomcat-Apache plug-in that handles the communication between Tomcat and Apache.</p>
+<hr>
+<h2><a name=s3>Why mod_jk?</a></h2>
+
+<p>Several reasons: </p>
+
+<ul>
+ <li><b>mod_jserv was too complex</b>. Because it was ported from Apache/JServ, it
+ brought with it lots of JServ specific bits that aren't needed by Apache.
+ <li><b>mod_jserv supported only Apache</b>. Tomcat supports many web servers
+ through a compatibility layer named the jk library. Supporting two different
+ modes of work became problematic in terms of support, documentation and bug
+ fixes. mod_jk should fix that.</li>
+ <li>The layered approach provided
+ by the jk library makes it easier to support both <b>Apache1.3.x <i>and</i>
+ Apache2.xx.</b></li>
+ <li><b>Better support for SSL</b>. mod_jserv couldn't reliably identify whether a
+ request was made via HTTP or HTTPS. mod_jk can, using the newer Ajpv13 protocol.</li>
+</ul>
+<hr>
+<h2><a name=s4>What does it mean to me?</a></h2>
+
+<p>You will need to get to know a new simplified configuration mechanism. The
+advantage is that learning this mechanism will give you a head start if you
+want to deploy Tomcat on Apache and other web servers, such as Microsoft's
+Internet Information Server (IIS) and the iPlanet Enterprise Web Server.</p>
+
+<hr>
+<h2><a name=s5>Definitions and Terminology</a></h2>
+
+<p>In this document I am going to use a few terms, so let's define them:</p>
+
+<table class=inlinetable>
+ <tr>
+ <th class=inlineth>
+ <p>Term</p>
+ </th>
+ <th class=inlineth>
+ <p>Meaning</p>
+ </th>
+ </tr>
+ <tr>
+ <td class=inlinetd>
+ <p>Worker Process</p>
+ </td>
+ <td class=inlinetd>
+ <p>A worker is a tomcat instance that is running to serve
+ servlet requests coming from the web server. In most cases there is only a
+ single worker (the one and only tomcat process) but sometimes you will run
+ multiple workers to achieve load balancing or site partitioning. Each worker
+ is identified to the web server by the host were it is located, the port
+ where it listens and the communication protocol used to exchange messages.</p>
+ </td>
+ </tr>
+ <tr>
+ <td class=inlinetd>
+ <p>In-Process Worker</p>
+ </td>
+ <td class=inlinetd>
+ <p>This is a special worker. Instead of working with a Tomcat
+ process residing on another process, the web server opens a JVM and executes
+ Tomcat inside the web server process address space. Our discussion in this
+ document is not going to get into this special worker.</p>
+ </td>
+ </tr>
+ <tr>
+ <td class=inlinetd>
+ <p>Web Server Plug-in/Tomcat Redirector</p>
+ </td>
+ <td class=inlinetd>
+ <p>For Tomcat to cooperate with any web server it needs an
+ "agent" to reside in the web server and send him servlet requests.
+ This is the web server plug-in, and in our case the web server plug-in is
+ mod_jk. The redirector usually comes in the shape of a DLL or shared object
+ module that you plug into the web server.</p>
+ </td>
+ </tr>
+ <tr>
+ <td class=inlinetd>
+ <p>Plug-in Configuration</p>
+ </td>
+ <td class=inlinetd>
+ <p>We need to configure the web server plug-in so that it
+ knows where the different Tomcat workers are and to which of them it should
+ forward requests. This information, accompanied with some internal parameter,
+ such as the log level, comprises the plug-in configuration. </p>
+ </td>
+ </tr>
+ <tr>
+ <td class=inlinetd>
+ <p>Web Server Configuration</p>
+ </td>
+ <td class=inlinetd>
+ <p>Each web server has some configuration that defines its behavior, e.g. on which port to listen, what files to serve, what web server
+ plug-ins to load, etc. You will need to modify your web server configuration
+ to instruct it to load the Tomcat redirector mod_jk.</p>
+ </td>
+ </tr>
+</table>
+
+<hr>
+<h2><a name="s6">Obtaining mod_jk</a></h2>
+
+<p>mod_jk can be obtained in two formats - binary and source. Depending on
+the platform you are running your web server on, a binary version of mod_jk may
+be available. It is recommended to use the binary version if one is
+available. If the binary is not available, follow the instructions for
+building mod_jk from source. Notes at the end of this section offer
+recommendations for specific platforms. </p>
+
+<h3><a name="s61">mod_jk Binaries</a></h3>
+
+<p>Binaries for mod_jk are available for several platforms in the same area as
+the Tomcat Binary Release. The binaries are located in subdirectories by platform. For some
+platforms, such as Windows, this is the typical way of obtaining mod_jk since
+most Windows systems do not have C compilers. For others, the binary
+distribution of mod_jk offers simpler installation. </p>
+
+<p>For example, the Tomcat 3.3 M1 Release at <a href="http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.3-m1/bin/">http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.3-m1/bin/</a>
+ contains the following: </p>
+
+<table border="1" cellspacing="0" bordercolor="#000000" cellpadding="2" width="600">
+ <tr>
+ <td width="15%">linux/i386/</td>
+ <td width="85%">Contains mod_jk.so for Apache 1.3 for the standard API as
+ well as EAPI and mod_jk.so for Apache 2.0</td>
+ </tr>
+ <tr>
+ <td width="15%">netware/</td>
+ <td width="85%">Contains the mod_jk.nlm and nsapi.nlm</td>
+ </tr>
+ <tr>
+ <td width="15%">win32/</td>
+ <td width="85%">Contains the mod_jk.dll for Windows as well as other useful
+ binaries.</td>
+ </tr>
+</table>
+<p>Check the site for the latest binaries.</p>
+<p>Note: The version of mod_jk is not dependent on the version of Tomcat.
+The Tomcat 3.3 distribution of mod_jk will function correctly with other 3.x
+versions of Tomcat, such as Tomcat 3.2.1.</p>
+<h3><a name="s62">Building mod_jk</a></h3>
+
+<p>mod_jk is available in source distribution for all Windows and most Unix
+platforms. The source for mod_jk is included in the Binary Distribution of
+Tomcat in the TOMCAT_HOME/native/mod_jk/ directory. This directory is
+organized by Web Server name and version. Each directory contains the
+source as well as the appropriate build scripts, make files, or project files. </p>
+
+<h3><a name="s63">Building mod_jk for NT</a></h3>
+
+<p>The redirector was developed using Visual C++ version 6.0, so having this
+environment is a prerequisite if you want to perform a custom build.</p>
+
+<p>The steps that you need to take are: </p>
+
+<ol>
+ <li>Change directory to the apache1.3 or apache2.0 source directory depending
+ on your version of Apache. </li>
+ <li>Set an APACHE1_HOME environment variable which points to where your Apache is
+ installed.</li>
+ <li>Execute the following
+ command:<br><br>
+ <tt><span>MSDEV mod_jk.dsp /MAKE ALL</span></tt><br><br>
+ If msdev is not in your path, enter the full path to msdev.exe. Also, ApacheCore.lib
+ is expected to exist in the APACHE1_HOME\src\CoreD and APACHE1_HOME\src\CoreR
+ directories before linking will succeed. You will need to build enough of the
+ Apache source to create these libraries.</li>
+ <li>Copy mod_jk.dll to Apache's modules directory.</li>
+</ol>
+
+<p>This will build both release and debug versions of the redirector plug-in (mod_jk). </p>
+
+<p>An alternative will be to open <tt>mod_jk.dsp</tt> in msdev and build it using the build
+menu.</p>
+
+<h3><a name="s64">Building mod_jk for Unix</a></h3>
+
+<h4> Apache</h4>
+
+<ol>
+ <li>Make sure your Apache has DSO support. You can check this
+ with <tt>$APACHE_HOME/bin/httpd -l</tt>. If you see
+ "mod_so.c" in the output, DSO support is available. If it's
+ missing, you may have to recompile or reinstall Apache.</li>
+
+ <li>Find out whether your Apache has EAPI support. If you
+ compiled it yourself from source, EAPI is probably not compiled
+ in, unless you added it yourself (perhaps with mod_ssl). You
+ need to build mod_jk.so with or without EAPI to match your
+ Apache configuration. If you install a mismatched mod_jk.so,
+ <tt>$APACHE_HOME/bin/apachectl configtest</tt> will warn
+ you.</li>
+
+ <li>Make sure you have Perl 5 installed. The <tt>apxs</tt>
+ script used to build the module is written in Perl.
+
+ <li>Change directory to <tt>TOMCAT_HOME/native/mod_jk/apache1.3</tt> (or
+ <tt>apache2.0</tt>).
+
+ <li>
+ <p>Build mod_jk.so. Following are three techniques you can try,
+ in order of simplicity:</p>
+
+ <ol>
+ <li>Run the build script for your platform. If a build script is
+ not available for your platform, you may be able to build mod_jk using <tt>./build-unix.sh</tt>. This script will set some variables, call
+ <tt>apxs</tt> as below, and try to copy mod_jk.so to
+ $APACHE_HOME/libexec. If it fails, you need to do
+ the following manually:
+
+ <ul>
+ <li>set JAVA_HOME in your shell, e.g. "<tt>set
+ JAVA_HOME=/usr/local/jdk1.2.2; export
+ JAVA_HOME</tt>"</li>
+ <li>set APACHE_HOME in your shell, e.g.
+ "<tt>set APACHE_HOME=/usr/local/apache;
+ export APACHE_HOME</tt>"</li>
+ <li>uncomment the following line in the
+ <tt>build-unix.sh</tt> file,
+ replacing "linux" with the name of your
+ platform as specified in the
+ Java include directory for your installation
+
+ <blockquote><tt># JAVA_INCLUDE="-I
+ ${JAVA_HOME}/include -I
+ ${JAVA_HOME}/include/linux"</tt></blockquote>
+ </li>
+
+ </ul>
+ </li>
+
+ <li>If build-unix.sh fails, you may have better luck
+ with the Makefiles in the same directory, e.g.
+ "<tt>make -f Makefile.linux mod_jk.so</tt>"
+ </li>
+
+ <li>
+ <p>Finally, you can try to build it manually. Run the
+ <tt>apxs</tt> command that came with your apache
+ distribution (hint: look in /usr/local/apache/bin,
+ /usr/sbin, or wherever you installed apache). Type the
+ command all on one line.</p>
+
+ <hr>
+
+ <p>For Linux:</p>
+
+ <blockquote><tt>apxs -o mod_jk.so -I../jk
+ -I/usr/local/jdk/include -I/usr/local/jdk/include/linux
+ -c *.c ../jk/*.c</tt></blockquote>
+
+ <p>Your build may fail because the object files from
+ the <tt>../jk</tt> directory have been compiled to the
+ current directory, rather than their source directory.
+ Running <tt>gcc -shared -o mod_jk.so *.o</tt>
+ should finish the build.</p>
+
+ <hr>
+
+ <p>For Solaris:</p>
+
+ <p>Use the <tt>build-solaris.sh</tt> script as follows:</p>
+
+ <blockquote><tt># sh build-solaris.sh</tt></blockquote>
+
+ <p>This will build and install mod_jk.so in your apache/libexec
+ directory. This script contains settings for your Java and Apache
+ home locations. Make sure that these are set according to your
+ installation. The default settings are <tt>JAVA_HOME=/usr/java</tt> and
+ <tt>APACHE_HOME=/usr/local/apache</tt>. If your installation is different,
+ you will need to edit the <tt>build-solaris.sh</tt> script and change these
+ values appropriately.</p>
+
+ <p>See <tt>README.solaris</tt> located in <tt>TOMCAT_HOME/native/mod_jk/apache1.3</tt>
+ for more information.</p>
+
+ <p>If the build script does not work, you can also build mod_jk as
+ follows:</p>
+
+ <blockquote><tt>$APACHE_HOME/bin/apxs -o mod_jk.so -DSOLARIS -I../jk -I/usr/java/include
+ -I/usr/java/include/solaris -c *.c ../jk/*.c</tt></blockquote>
+
+ <p>On some systems, this will build the module
+ correctly, but will fail at runtime with a
+ "<tt>symbol "fdatasync" not found</tt>". To
+ fix, add <tt>-lposix4</tt> just before the
+ <tt>-c</tt> in the above command.</p>
+
+ <hr>
+
+ <p>For HP-UX 11.00:</p>
+
+ <p>Use the <tt>build-hpux.sh</tt> script as follows:</p>
+
+ <blockquote><tt># sh build-hpux.sh</tt></blockquote>
+
+ <p>This will build and install mod_jk.so in your apache/libexec
+ directory. This script contains settings for your Java and Apache
+ home locations. Make sure that these are set according to your
+ installation. The default settings are <tt>JAVA_HOME=/opt/java1.3</tt> and
+ <tt>APACHE_HOME=/usr/local/apache</tt>. If your installation is different,
+ you will need to edit the <tt>build-hpux.sh</tt> script and change these
+ values appropriately.</p>
+
+ <p>Also note that there are two HP-UX build scripts. One script
+ was written to build mod_jk without JNI support using GNU GCC. The
+ other script builds mod_jk with JNI support, however, this script
+ requires the HP ANSI C Compiler (not the stripped down C compiler
+ included with HP-UX to rebuild the kernel). The HP Compiler is
+ required because the dlopen() and related shared libraries are only
+ available for 64-bit applications and reliable 64-bit compilation is not
+ available with the current version of GCC.</p>
+
+ <p>The <tt>build-hpux.sh</tt> script should also work for HP-UX 10.00.</p>
+
+ <p>See <tt>README.hpux</tt> located in <tt>TOMCAT_HOME/native/mod_jk/apache1.3</tt>
+ for more information.</p>
+
+ <hr>
+
+ <p>For other Unixes (including FreeBSD):</p>
+
+ <p>You may need to replace fdatasync() with fsync() in jk_util.c.</p>
+
+ <p>The <tt>build-hpux-cc.sh</tt> script should be modifiable for IRIX and AIX.
+ Edit the script and change the APACHE_HOME and JAVA_HOME locations as
+ required.</p>
+
+ <hr>
+
+ <p>If you are using EAPI, try adding
+ <tt>-DEAPI</tt> to the apxs command after
+ <tt>mod_jk.so</tt>.</p>
+
+ <p>If apxs fails with <code>apxs:Break: Command failed
+ with rc=255</code>, it may have been damaged by
+ mod_ssl. Search for:</p>
+
+<pre>my $CFG_LD_SHLIB = q(); # substituted via Makefile.tmpl
+my $CFG_LDFLAGS_SHLIB = q(); # substituted via Makefile.tmpl
+</pre>
+
+ <p>and change to:</p>
+
+<pre>my $CFG_LD_SHLIB = q(ld); # substituted via Makefile.tmpl
+my $CFG_LDFLAGS_SHLIB = q(-G); # substituted via Makefile.tmpl
+</pre>
+
+ <p>If you've installed Java in another directory,
+ adjust accordingly.</p>
+
+ <p>For other Unixes you should be able to work it out,
+ but remember that <strong>the order of the arguments to
+ <tt>apxs</tt> is important!</strong>.</p>
+ </li>
+
+ </ol>
+ </li>
+
+ <li>Now, copy the mod_jk library. <tt># cp mod_jk.so $APACHE_HOME/libexec</tt>. (Note that
+ the build scripts attempt to do this, but you may have to
+ <tt>su</tt> first.)</li>
+</ol>
+
+<h4>Other Webservers</h4>
+
+<p>There are several Makefiles in the other directories under the <tt>TOMCAT_HOME/native/mod_jk/</tt>
+directory. You should also check the Tomcat documentation for specific
+information related to other web servers.</p>
+
+<hr>
+<h2><a name="s7">Configuring Apache</a></h2>
+
+<p>This section details the configuration that is required for the Apache Web
+Server to support mod_jk.</p>
+
+<h3><a name="s71">Removing mod_jserv directives</a></h3>
+<p class=subsection>
+If you've previously configured Apache to use mod_jserv, remove any <tt>ApJServMount</tt> directives from your httpd.conf. If you're including <tt>tomcat-apache.conf</tt> or <tt>tomcat.conf</tt>, you'll want to remove them as well - they are specific to
+mod_jserv. The mod_jserv configuration directives are not compatible with
+mod_jk!
+</p>
+
+<h3><a name="s72">Configure Apache to use mod_jk</a></h3>
+<div class=subsection>
+<p>The simplest way to configure Apache to use mod_jk is to turn on the Apache
+auto-configure setting in Tomcat and put the following include directive at the
+end of your Apache httpd.conf file (make sure you replace TOMCAT_HOME with the
+correct path for your Tomcat installation:</p>
+
+<p><tt>Include TOMCAT_HOME/conf/jk/mod_jk.conf-auto</tt></p>
+
+<p>Example:</p>
+
+<p><tt>Include /usr/local/jakarta-tomcat/conf/jk/mod_jk.conf-auto</tt></p>
+
+<p>This will tell Apache to use directives in the mod_jk.conf-auto file
+in the Apache configuration. This file is created by enabling the Apache
+auto-configuration as described in the configuring Tomcat section below [<a href="#s8">Configuring
+Tomcat</a>].</p>
+
+<p><b>NOTE: If you plan to use the Tomcat-Apache auto-configuration, skip
+the rest of this section and continue with the <a href="#s8">Configuring Tomcat</a>
+section.</b></p>
+
+<p>Custom configurations can be created by enabling the auto-configuration and
+copying the <tt>TOMCAT_HOME/conf/jk/mod_jk.conf-auto</tt> file to your own
+configuration file, such as <tt>TOMCAT_HOME/conf/jk/mod_jk.conf-local</tt>.</p>
+
+<p>The basic configuration is as follows:</p>
+
+<ul>
+ <li>You will need to instruct Apache to load Tomcat. This can be done with
+ Apache's <tt>LoadModule</tt> and <tt>AddModule</tt> configuration directives.</li>
+ <li>You must inform mod_jk the location of your <tt>workers.properties</tt> file.
+ Use mod_jk's <tt>JkWorkersFile</tt> configuration directive.</li>
+ <li>You should specify a location where mod_jk is going to place its log file
+ and a log level to be used. Use the <tt>JkLogFile</tt> and <tt>JkLogLevel</tt>
+ configuration directives. Possible log levels are <i>debug</i>, <i>info</i>,
+ <i>error</i> and <i>emerg</i>, but <i>info</i> should be your default
+ selection.</li>
+ <li>The directive <tt>JkLogStampFormat</tt> will configure the date/time format
+ found on mod_jk logfile. Using <tt>strftime()</tt> format string it's set by
+ default to "[%a %b %d %H:%M:%S %Y] "</li>
+</ul>
+A simple example would be to include the following lines in your <tt>httpd.conf</tt> file:
+<blockquote><pre>
+LoadModule jk_module libexec/mod_jk.so
+AddModule mod_jk.c
+JkWorkersFile /usr/local/jakarta-tomcat/conf/workers.properties
+JkLogFile /usr/local/apache/logs/mod_jk.log
+JkLogLevel info
+JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
+</pre></blockquote>
+</div>
+
+<h3><a name="s73">Assigning URLs to Tomcat</a></h3>
+<div class=subsection>
+<p>If you have created a custom or local version of <tt>mod_jk.conf-local</tt>
+ as noted above, you can change settings such as the workers or URL prefix.</p>
+
+<p>Use mod_jk's JkMount directive to assign specific URLs to Tomcat. In general
+the structure of a JkMount directive is:</p>
+
+<pre>
+JkMount <i><URL prefix></i> <i><Worker name></i>
+</pre>
+
+<p>For example the following directives will send all requests ending in
+<tt>.jsp</tt> or beginning with <tt>/servlet</tt> to the "<tt>ajp13</tt>" worker,
+but jsp requests to files located in /otherworker will go to "<tt>remoteworker</tt>".
+
+<blockquote><pre>
+JkMount /*.jsp ajp13
+JkMount /servlet/* ajp13
+JkMount /otherworker/*.jsp remoteworker
+</pre></blockquote>
+You can use the <tt>JkMount</tt> directive at the top level or inside <tt><VirtualHost></tt>
+sections of your httpd.conf file.
+</div>
+
+<hr>
+<h2><a name="s8">Configuring Tomcat</a></h2>
+
+<h3><a name="s81">Enabling Tomcat's Apache Auto-Config</a></h3>
+<div class=subsection>
+<p>
+In most simple cases Tomcat can generate the needed Apache configuration. You
+can configure Tomcat so that when it starts up it will automatically generate
+a configuration file for Apache to use mod_jk.
+Most of the time you don't need to do anything but
+include this file (appending <tt>"Include TOMCAT_HOME/conf/jk/mod_jk.conf-auto"</tt>)
+in your httpd.conf, as shown in the previous section (<a href="#s7">Configuring
+Apache</a>).
+</p>
+<p>To configure Tomcat to generate the Apache auto-configuration add the following block to your <tt>TOMCAT_HOME/conf/server.xml</tt> file after <tt><AutoWebApp ... /></tt>.
+</p>
+<blockquote><pre>
+<ApacheConfig />
+</pre></blockquote>
+<p>
+That's it, you can
+now start Tomcat and Apache and access Tomcat from the Apache server.
+</p>
+<p>Note: Settings for mod_jk auto-configuration is new in Tomcat 3.3.
+Older versions of Tomcat create the auto-config file without a directive in
+server.xml. The new directive in Tomcat 3.3 allows for additional
+configuration options as detailed later in this section. For older
+versions of Tomcat, refere to the documentation that came with that version.
+</p>
+<p>
+If you have special needs, for example mounting
+URL prefixes that are not the default, you can use this file as a base for your
+customized configuration and save the results in another file. If you manage
+the Apache configuration yourself you'll need to update it whenever you add a
+new context.
+</p>
+<p>Note that you must restart tomcat and apache after adding a new
+context; Apache doesn't support configuration changes without a restart. Also
+the file <tt>TOMCAT_HOME/conf/jk/mod_jk.conf-auto</tt> is generated when
+tomcat starts, so you'll need to start Tomcat before Apache. Tomcat will
+overwrite <tt>TOMCAT_HOME/conf/jk/mod_jk.conf-auto</tt> each startup so
+customized configuration should be kept elsewhere. For example, copy
+<tt>TOMCAT_HOME/conf/jk/mod_jk.conf-auto</tt> to <tt>TOMCAT_HOME/conf/jk/mod_jk.conf-local
+</tt>before making changes. You'll need to startup Tomcat once to generate
+this file with your configuration for the first time.
+</p>
+<p>It is also possible to specify the location of the auto generated files by
+setting options in the <ApacheConfig /> block. The following details
+the syntax:
+</p>
+<blockquote><pre>
+< ContextManager ... >
+ ...
+ <ApacheConfig <i>options</i> />
+ ...
+< /ContextManager >
+</pre></blockquote>
+<p>
+ where <i>options</i> can include any of the following attributes:
+</p>
+<ul>
+ <li><b>confighome</b> - default parent directory for the following paths. If
+ not set, this defaults to TOMCAT_HOME. Ignored whenever any of the following
+ paths is absolute.
+ <li><b>jservconfig</b> - path to write apache jserv conf file to. If not set,
+ defaults to "conf/jserv/tomcat-apache.conf".
+ <li><b>jkconfig</b> - path to write apacke mod_jk conf file to. If not set,
+ defaults to "conf/jk/mod_jk.conf".
+ <li><b>workersconfig</b> - path to workers.properties file used by mod_jk. If
+ not set, defaults to "conf/jk/workers.properties".
+ <li><b>modjserv</b> - path to Apache JServ plugin module file. If not set,
+ defaults to "modules/ApacheModuleJServ.dll" on windows,
+ "modules/Jserv.nlm" on netware, and "libexec/mod_jserv.so"
+ everywhere else.
+ <li><b>modjk</b> - path to Apache mod_jk plugin file. If not set, defaults to
+ "modules/mod_jk.dll" on windows, "modules/mod_jk.nlm" on
+ netware, and "libexec/mod_jk.so" everywhere else.
+ <li><b>jklog</b> - path to log file to be used by mod_jk.</li>
+</ul>
+<p>
+ Example:
+</p>
+<blockquote><pre>...
+
+<AutoWebApp dir="webapps" host="DEFAULT" />
+
+<ApacheConfig confighome="/home/mydir" />
+
+...</pre></blockquote>
+</div>
+
+<h3><a name="s82">(Optional) Configuring Tomcat to use the Ajpv13 protocol</a></h3>
+<div class=subsection>
+mod_jk can use either the original Ajpv12 protocol or the newer Ajpv13 protocol.
+Both protocols are enabled by default. The "Ajp13" Connection Handler in Tomcat will
+give you the benefit of a faster protocol and the ability to identify requests made via HTTPS.<BR><BR>
+The following block enables Ajpv13 in your <tt>TOMCAT_HOME/conf/server.xml</tt> file.
+<blockquote><pre>
+<RequestInterceptor
+ className="org.apache.tomcat.modules.server.Ajp13Interceptor"
+ port="8009"/>
+</pre></blockquote>
+
+<p>The <tt>server.xml</tt> file already has a block similar to this for
+Ajp12 connections on port 8007 (as delivered by mod_jserv). Even if you
+think you're only using Ajp13, you probably don't want to delete this
+connector -- it's required to shut down Tomcat.</p>
+
+</div>
+<h3><a name="s83">(Optional) Defining "workers"</a></h3>
+
+<h4>Configuring workers manually.</h4>
+<div class=subsection>
+<p>
+Workers are configured using the file <tt>TOMCAT_HOME/conf/jk/workers.properties</tt>.
+There is a great deal of information in the
+<a href="Tomcat-Workers-HowTo.html">workers.properties howto</a> document, and you
+should really look at that first. If you're in a hurry however, you can probably get away
+with editing the file <tt>workers.properties</tt> and setting the <tt>workers.tomcat_home</tt>, <tt>workers.java_home</tt> and <tt>ps</tt> variables to the correct values for your system.
+</p>
+</div>
+
+<hr>
+<h2><a name="s9">Example Configuration</a></h2>
+Here's an example configuration which probably reflects many real-world setups. A site
+is using Tomcat and Apache with two virtual hosts (one of them using HTTPS as well, which
+we're assuming is being handled by mod_ssl).
+<BR><BR>
+URLs ending in .jsp and beginning with /servlet are handled by Tomcat, the rest are
+handled by Apache. The files for each Host are server out of /web/host1 and /web/host2
+respectively.<BR><BR>
+The example are over-simplified and incomplete but should get you started. Also note the
+virtual host setup is new in Tomcat 3.2 - <i>this example won't work with Tomcat 3.1</i>.<BR><BR>
+
+<table class=inlinetable><tr><td class=inlinetd>
+<blockquote><pre>
+.
+.
+<Connector className="org.apache.tomcat.service.PoolTcpConnector">
+ <Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp12ConnectionHandler"/>
+ <Parameter name="port" value="8007"/>
+</Connector>
+
+<Connector className="org.apache.tomcat.service.PoolTcpConnector">
+ <Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/>
+ <Parameter name="port" value="8009"/>
+</Connector>
+
+<Host name="host1.apache.org">
+ <Context path="" docBase="/web/host1" debug="0"/>
+</Host>
+<Host name="host2.apache.org">
+ <Context path="" docBase="/web/host2" debug="0"/>
+</Host>
+.
+.
+</pre></blockquote>
+</td></tr></table>
+<i>Table 1 - Excerpt from server.xml showing the Ajp13 Connector and two virtual
+hosts.</i>
+<BR><BR>
+<table class=inlinetable><tr><td class=inlinetd>
+<blockquote><pre>
+# Setup for Solaris system
+#
+workers.tomcat_home=/usr/local/jakarta-tomcat
+workers.java_home=/usr/java
+ps=/
+worker.list=ajp12, ajp13
+
+# Definition for Ajp13 worker (Ajp12 left to readers imagination)
+#
+worker.ajp13.port=8009
+worker.ajp13.host=localhost
+worker.ajp13.type=ajp13
+</pre></blockquote>
+</td></tr></table>
+<i>Table 2 - Excerpt from workers.properties showing the Ajp13 worker</i>
+<BR><BR>
+<table class=inlinetable><tr><td class=inlinetd>
+<blockquote><pre>
+# Load mod_jk
+#
+LoadModule jk_module libexec/mod_jk.so
+AddModule mod_jk.c
+
+# Configure mod_jk
+#
+JkWorkersFile /usr/local/jakarta-tomcat/conf/jk/workers.properties
+JkLogFile /usr/local/apache/logs/mod_jk.log
+JkLogLevel info
+
+# First Virtual Host.
+#
+<VirtualHost 10.0.0.1:80>
+ DocumentRoot /web/host1
+ ServerName host1.apache.org
+ JkMount /*.jsp ajp13
+ JkMount /servlet/* ajp13
+</VirtualHost>
+
+# Second Virtual Host. Also accessible via HTTPS
+#
+<VirtualHost 10.0.0.2:80>
+ DocumentRoot /web/host2
+ ServerName host2.apache.org
+ JkMount /*.jsp ajp13
+ JkMount /servlet/* ajp13
+</VirtualHost>
+
+<VirtualHost 10.0.0.2:443>
+ DocumentRoot /web/host2
+ ServerName host2.apache.org
+ SSLEngine On
+ JkMount /*.jsp ajp13
+ JkMount /servlet/* ajp13
+</VirtualHost>
+
+</pre></blockquote>
+</td></tr></table>
+<i>Table 3 - Excerpt from Apaches httpd.conf showing JK directives.</i>
+
+<HR>
+<h2><a name="s10">Troubleshooting and F.A.Q.s</a></h2>
+
+<h3>Q. Where can I get help/support for mod_jk?</h3>
+A. The primary mechanism for support is through the Tomcat Documentation
+included in the TOMCAT_HOME/doc directory. These documents are viewable
+via browser through Tomcat <a href="http://localhost:8080/doc/index.html">http://localhost:8080/doc/index.html</a>.
+Documentation is also available on the Apache Jakarta web site for Tomcat at <a href="http://jakarta.apache.org/tomcat/jakarta-tomcat/src/doc/index.html">http://jakarta.apache.org/tomcat/jakarta-tomcat/src/doc/index.html</a>.
+<p>For additional help, the best resource is the Tomcat Users Discussion
+list. You should start by searching the mail list archives located at <a href="http://">http://mikal.org/interests/java/tomcat/index.html</a>
+before you post questions to the list. If you are unable to locate the
+answer to your question in the archive, you can post questions about Tomcat or
+mod_jk to the user list for assistance. Make sure that you include the
+version of Apache and Tomcat that you are using as well as the platform you are
+running on. <a href="http://">http://jakarta.apache.org/site/mail.html</a></p>
+
+<h3>Q. I can't find mod_jk anywhere. Where is it?</h3>
+A. Starting with Tomcat 3.3, the source for mod_jk is included in the native/mod_jk
+directory. You can also download the Source Distribution of Tomcat to
+obtain the source for mod_jk, which is how it was obtained in versions prior to
+Tomcat 3.3. The Binary Distributions of mod_jk are available at the same
+location as the Binary Distribution of Tomcat. The mod_jk binaries are
+located in subdirectories by platform.
+But in May 2001, the jakarta-tomcat-connectors was started and you'll find here
+up to date featured mod_jk (ie: new protocols AJP14/WARP)
+
+<h3>Q. Which protocol should I use? Ajp12 or Ajp13?</h3>
+A. Ajp13 is a newer protocol, it's faster, and it works better with SSL. You almost
+certainly want to use it. There is more information in the
+<a href="Tomcat-Workers-HowTo.html">workers.properties howto</a> document.
+
+<h3>Q. Whenever I restart Tomcat, Apache locks up!</h3>
+A. The Ajp13 protocol keeps an open socket between Tomcat and Apache. The latest
+release of mod_jk (the one found since Tomcat 3.3-m2 and J-T-C) handle the network failure.
+But with previous release of mod_jk, you may have to restart Apache as well.
+
+<h3>Q. Why did exist two files mod_jk.so (-eapi ad -noeapi) in download dir for Linux ?</h3>
+A. Many versions of Apache use of modified API, known at Extended API. For example,
+Apache using mod_ssl or Apache present in certains recent Linux distributions.
+So if you got such 'Extended Apache', you need to use mod_jk.so-eapi, or use
+mod_jk.so-noeapi for standard Apache. It's wise to avoid using EAPI modules on STD API Apache or to use standard
+API modules on EAPI Apache. Allways be sure to have the mod_jk.so for your version of Apache
+
+
+<h3>Q. What's that message about 'garbled DSO ?'</h3>
+A. It's related to Apache EAPI, the message 'mod_jk.so is garbled - perhaps this is not an Apache module DSO ?'
+just told you are trying to install a mod_jk.so DSO module that was compiled on an Apache using EAPI,
+like apache-mod_ssl or apache from Redhat distro 6.2/7.0 but your system use the standard apache
+with normal API.
+
+<h3>Q. And the message about 'module might crash under EAPI! '</h3>
+A. Also related to EAPI, the message '[warn] Loaded DSO /usr/lib/apache/mod_jk.so uses plain Apache 1.3 API,
+this module might crash under EAPI! (please recompile it with -DEAPI)', the mod_jk.so was compiled under normal
+Apache with standard API and you try to install the module on an Apache using EAPI.
+
+<h3>Q. Where can I get more information?</h3>
+A. The <a href="Tomcat-Workers-HowTo.html">workers.properties howto</a> document has
+considerably more in-depth information than this one, and is worth a look. You could
+also try searching the mailing list archives for "mod_jk" or look at the source.<h3>Q.
+APXS is getting an error during the build of mod_jk, like rc=0 or rc=255.
+I tried all of the steps in the build section, what do I do now?</h3>
+A. APXS is a Perl script that is created when you build the Apache web server
+from source. Chances are that if you are getting these errors and you
+obtained Apache as a binary distribution, that APXS is not configured correctly
+for your system. Your best bet is to get the Apache source from <a href="http://httpd.apache.org">http://httpd.apache.org</a>
+and build it yourself. Use the following for a basic build (read the
+Apache docs for other options):
+<blockquote><pre># cd /usr/local/src
+# gzip -dc apache_1.3.19.tar.gz|tar xvf -
+# cd apache_1.3.19
+# ./configure --prefix=/usr/local/apache \
+ --enable-module=most \
+ --enable-shared=max
+# make
+# make install</pre></blockquote>
+
+<p>Note: The above steps assume that you downloaded the Apache source and placed
+it in your /usr/local/src directory.</p>
+
+
+<hr>
+<h2><a name="s11">Credits</a></h2>
+<p>This document was originally created by
+<a href="mailto:shachor@il.ibm.com">Gal Shachor</a></p>
+
+<p>Revisions by (Alphabetical)</p>
+
+<p>Mike Braden <tt><<a href="mailto:mikeb@mwbinc.com">mikeb@mwbinc.com</a>></tt><br>
+Mike Bremford<br>
+Chris Pepper</p>
+
+<p>With help from countless others on the tomcat-dev and tomcat-user lists!</p>
+
+<table width="100%" border="0" cellpadding="10" cellspacing="0">
+ <tr>
+ <td>
+ <p class="fineprint">
+ Copyright ©1999-2001 The Apache Software Foundation<br>
+ <a href="http://jakarta.apache.org/legal.html">Legal Stuff They Make Us Say</a><br>
+ <a href="http://jakarta.apache.org/contact.html">Contact Information</a> </p>
+ </td>
+ </tr>
+</table>
+</body>
+</html>
+
Propchange: tomcat/site/trunk/docs/tomcat-3.2-doc/mod_jk-howto.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: tomcat/site/trunk/docs/tomcat-3.2-doc/readme
URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-3.2-doc/readme?rev=1305109&view=auto
==============================================================================
--- tomcat/site/trunk/docs/tomcat-3.2-doc/readme (added)
+++ tomcat/site/trunk/docs/tomcat-3.2-doc/readme Sun Mar 25 19:52:05 2012
@@ -0,0 +1,411 @@
+$Id: readme,v 1.8.2.24 2001/11/13 14:29:34 marcsaeg Exp $
+
+ Release Notes for:
+ ====================
+ TOMCAT Version 3.2.4
+ ====================
+
+
+0. TABLE OF CONTENTS:
+
+ 1. Introduction
+ 2. Installing and Running Tomcat
+ 3. Application Development Using Tomcat
+ 4. Tomcat: Past, Present, and Future
+ 5. New Features In This Release
+ 6. Known Bugs and Issues
+ 7. Fixes and Enhancements in Updates
+
+
+=============================================================================
+1. INTRODUCTION
+
+Tomcat is a servlet container and JavaServer Pages(tm) implementation. It may
+be used stand alone, or in conjunction with several popular web servers:
+- Apache, version 1.3 or later
+- Microsoft Internet Information Server, version 4.0 or later
+- Microsoft Personal Web Server, version 4.0 or later
+- Netscape Enterprise Server, version 3.0 or later
+
+You should read the License Agreement (in the LICENSE file of the top level
+directory), which applies to all software included in this release.
+
+Tomcat version 3.2.3 is a security update release. This release closes a
+hole that potentially allowed access to resource protected by a
+<security-constraint> in web.xml. This release also includes fixes for
+several other bugs discovered after the release of Tomcat version 3.2.2.
+Section 7 lists the bugs fixed in this release.
+
+Users of previous version of Tomcat are strongly encouraged to upgrade to
+this release. No changes to any configuration files are required. Existing
+installations can be upgraded to version 3.2.3 by simply copying the JAR
+files in this release into an existing 3.2.x tomcat/lib directory.
+
+
+=============================================================================
+2. INSTALLING AND RUNNING TOMCAT
+
+Tomcat requires a Java Runtime Environment conformant to JRE 1.1 or later,
+including any Java2 platform system. If you wish to develop applications,
+you will need a Java compiler, such as the one included in a Java Development
+Kit 1.1 or later environment, including JDKs conformant with Java2.
+
+For detailed information about installing and running Tomcat, point your
+browser at file "doc/uguide/tomcat_ug.html" under the directory into which
+you unpacked the Tomcat distribution.
+
+
+=============================================================================
+3. APPLICATION DEVELOPMENT USING TOMCAT
+
+Preliminary information on using Tomcat for developing Servlet/JSP based
+applications is provided in the included Application Developer's Guide.
+Point your browser at file "doc/appdev/index.html" under the directory into
+which you unpacked the Tomcat distribution.
+
+
+=============================================================================
+4. TOMCAT: PAST, PRESENT, AND FUTURE
+
+- Version 3.0 (released 12/1999) was the initial release of Tomcat. In
+addition to implementing the Java Servlet and Server Pages specification,
+this release featured a minimal Apache connector.
+
+- Tomcat 3.1 (released 4/2000) improved the Apache connection and added
+connector support for Netscape and IIS web servers. It also added WAR file
+support, automatic servlet reloading, and a command line tool (jspc) to
+compile ahead of time the JSP pages that comprise your application. Finally,
+version 3.1 also focused on reorganizing the code (modularization, cleanup,
+refactoring, removal of dead code, and separation of J2EE-specific code).
+
+- Tomcat 3.2 was the first performance tune-up, and also added a few new
+features.
+
+- Tomcat 3.2.1 was a security update. See section 7.3 for details.
+
+- Tomcat 3.2.2 was a bug fix release.
+
+- Tomcat 3.2.3 is a security release.
+
+- Tomcat 3.2.4 is a bug fix release. See section 7.1 for details.
+
+- Tomcat 4.0 is separate development from Tomcat 3.x. It is based on the
+Catalina architecture, which is very different from the architecture of
+Tomcat 3.x. In addition, Tomcat 4.0 is to be the reference implementation
+for the Servlet 2.3 and JSP 1.2 specifications.
+
+
+=============================================================================
+5. NEW FEATURES IN THIS RELEASE
+
+Version 3.2.4 is strictly a bug fix release. No new features have been
+added.
+
+
+=============================================================================
+6. KNOWN BUGS AND ISSUES
+
+6.1 Using An Absolute Path as Document Root Under Windows
+
+In the TOMCAT_HOME/conf/server.xml file, you can declare a relative or absolute
+directory pathname for the docBase attribute. If you wish to use an absolute
+pathname on a Windows system, you MUST include the drive letter in order to
+conform to Java's definition of an absolute path on this platform:
+
+ GOOD: c:\mydirectory\mydocbase
+ GOOD: c:/mydirectory/mydocbase
+ BAD: \mydirectory\mydocbase
+ BAD: /mydirectory/mydocbase
+
+Under Unix, absolute pathnames must begin with a slash ('/') character.
+
+6.2 Container Managed Security
+
+Tomcat 3.2 has an implementation of container managed security, as
+described in the Servlet API Specification, version 2.2, section 11.
+Please note the following information about this implementation:
+
+- BASIC and FORM based authentication should work correctly. Please
+ report any bugs you encounter here at <http://jakarta.apache.org/site/bugs.html>.
+ The example application has a protected area defined at the following URL:
+
+ http://localhost:8080/examples/jsp/security/protected
+
+ which can be accessed by any user defined in the configuration file
+ $TOMCAT_HOME/conf/tomcat-users.xml that has been granted the
+ appropriate roles. Form-based authentication is used by default,
+ but a commented out setting for Basic authentication is provided if
+ you wish to give it a try.
+
+ WARNING: Basic authentication is not suitable for general security
+ use across the Internet, or across other insecure networks, because
+ usernames and passwords are sent encoded, but not encrypted, with
+ every single request.
+
+- DIGEST authentication and HTTPS client authentication (i.e. SSL)
+ are not supported in this release.
+
+6.3 Using RequestDispatcher.include() on a Welcome File [Bug Report #160]
+
+Using the following technique results in a response with incorrect content:
+
+- You have a subdirectory under your document root
+ (for example "subdir/").
+
+- This subdirectory contains a welcome file that you
+ have configured to be displayed when that subdirectory
+ is requested on a URL (for example "index.html").
+
+- You request a RequestDispatcher for path "/subdir"
+ or path "/subdir/" and then call include() on it.
+
+The same problem can occur when you do a <jsp:include/> to a page "/subdir"
+or "/subdir/" as well.
+
+A workaround is to ask for a RequestDispatcher on the complete context-
+relative path of the file you wish to have displayed, such as
+"/subdir/index.html".
+
+6.4 Automatic Servlet Reloading
+
+Tomcat 3.2 includes a feature whereby you can ask it to automatically
+reload servlet classes (loaded from either the WEB-INF/classes directory
+or a JAR file in the WEB-INF/lib directory) that have been changed. This
+feature is experimental, and may not be completely functional. In particular,
+changes to classes other than the servlet you are requesting do not trigger
+class reloads -- you will need to restart Tomcat to reflect changes in those
+classes.
+
+Reloading is enabled by including a reloadable="true" attribute on the
+<Context> element in the "conf/server.xml" file. Note that automatic
+reload support is not recommended for production applications because of
+its experimental nature, and the extra overhead required to perform the
+necessary checks on every request.
+
+6.5 Avoiding "Out of environment space" errors on Windows 95/98
+
+This error can easily occur since the default amount of environment space is
+typically insufficient to run Tomcat. Here are a couple of ways to avoid it.
+
+ A. If you use the MS-DOS Prompt to start Tomcat, execute Programs ->
+ MS-DOS Prompt. Right-click the MS-DOS icon on the left of the title bar
+ and select Properties at the bottom of the menu. In the MS-DOS Prompt
+ Properties dialog select the Memory tab. In the "Initial environment:"
+ field, set a sufficiently high number. If you are not sure, 3072 should
+ be plenty. Click OK and close the MS-DOS Prompt window. Execute
+ Programs -> MS-DOS Prompt again, navigate to the directory where you
+ installed Tomcat. Set the JAVA_HOME environment variable if not set
+ already. You should be able to execute "bin\startup" and "bin\shutdown"
+ to start and stop Tomcat without getting an "Out of environment space"
+ error.
+
+ B. If you want to start Tomcat by double clicking a batch file such as
+ startup.bat, you should right-click on the desired batch file in Windows
+ Explorer and select Properties to open the MS-DOS Prompt Properties
+ dialog. Select the Memory tab and set the "Initial environment:" as
+ described above. You may want to also select the Program tab and check
+ "Close on exit". Then click OK. A shortcut with these settings will be
+ created in same directory with the same base name as the batch file. You
+ should be able to double-click the shortcut or the batch file to execute
+ without getting an "Out of environment space" error. If you wish to
+ execute startup.bat and shutdown.bat in this fashion, you will need to do
+ the above for both files. In addition, you need to provide for setting
+ JAVA_HOME. This may be done by adding a "SET JAVA_HOME=path to your jdk"
+ line to your autoexec.bat or to the startup.bat and shutdown.bat files
+ themselves.
+
+6.6 URL's are now case sensitive on all operating systems
+
+As of Tomcat 3.2, URL's are case sensitive for all operating systems,
+including operating systems which have case insensitive file systems, such as
+Windows. This represents a change from Tomcat 3.1, where URL's were case
+insensitive on case insensitive OS's. This was done for a number of reasons,
+security and portability among them.
+
+A "non-portable" web application, i.e. one with case mismatches, which worked
+on a case insensitive OS under Tomcat 3.1 will show its non-portability when
+run under Tomcat 3.2.
+
+This can also cause URL's that look correct to actually be incorrect. In
+Windows Explorer, a directory whose name fits within the MS-DOS 8.3 format
+may be displayed using a "formated" name. For example, a directory named
+"MYDIR" may display as "Mydir". A URL like "http://localhost/mysite/Mydir/
+index.jsp" would return "File Not Found" because the correct URL would be
+"http://localhost/mysite/MYDIR/index.jsp". If you find URL's being
+mysteriously "not found", check for case mismatch. Use the Windows Explorer
+Properties dialog or an MS-DOS window to check the actual case of the file
+and directory names.
+
+This can cause an additional problem when Tomcat is used with a case
+insensitive web server, such as IIS, where the web server serves the static
+content. The web server could serve a static page with mismatched case in the
+URL. If that static page contains relative links to resources served by
+Tomcat, then invoking those links would carry the mismatched case to Tomcat
+where it cause the resource not to be found.
+
+6.7 Generated Configuration Files for Web Connectors
+
+At startup time, Tomcat normally generates configuration files like
+"tomcat-apache.conf" to reflect the contexts that are defined. However, the
+generated files do NOT reflect any configuration settings found inside the
+web application deployment descriptor file (web.xml) for your application.
+You will need to configure any such settings that are relevant directly into
+your web server's configuration files.
+
+This is a known limitation of the design of the web connectors for Tomcat 3.2,
+and will be addressed by the introduction of the MOD_WARP connector in
+Tomcat 4.0.
+
+6.8 Limitation on Form Based Login
+
+If the pages you specify for <form-login-page> or <form-error-page> are within
+the area protected by a security constraint, Tomcat 3.2 will be unable to
+display them. As a side effect of this problem, you will not be able to use
+a URL pattern of "/*" to protect your entire web application when using form
+based login.
+
+A workaround is to set up your web application with the form login page and
+form error page in the document root directory, place all other pages in one
+or more subdirectories, and establish security constraints to protect the
+subdirectories.
+
+6.9 Limitation on Document Base Paths
+
+Tomcat 3.2 is unable to support Windows SMB paths in a <Context> directive
+like this:
+
+ <Context path="/ctx" docBase="\\machine\share\path" />
+
+although this approach was supported in Tomcat 3.1, and is supported in
+Tomcat 4.0. A workaround is to establish a drive mapping to "\\machine\share"
+and define your context like this:
+
+ <Context path="/ctx" docBase="r:\path" />
+
+where "r:" is mapped to this share.
+
+6.10 Resource Paths Can't Contain URL Escapes
+
+The path passed to javax.servlet.Context.getResource() and
+javax.servlet.Context.getResrouceAsStream() cannot contain URL escapes of
+the form %HH. Paths containing any URL escapes will return null.
+
+6.11 AJP12 and SSL
+
+The AJP12 protocol does not provide a mechanism for identifying requests
+that arrived on a secure transport (e.g. SSL). Tomcat assumes that any
+request that arrived on server port 443 is secure and sets the URL scheme
+to HTTPS. Requests on any other port are assumed to be non-secure and
+will indicate a URL scheme of HTTP. The AJP13 protocol does not suffer
+from this problem.
+
+
+===============================================================================
+7. FIXES AND ENHANCEMENTS IN UPDATES
+
+
+7.1 Fixes and Enhancements in Release 3.2.4
+
+This section highlights the bugs fixed in this release.
+
+ - Cookie name expires is a reserved token (#1114)
+ - Thread initialization problem in thread pool (#1745)
+ - AJP12 returned invalid HTTP headers when redirecting to very
+ long URLS (#2333)
+ - Fixed casting problem in JspFactoryImpl.getPageContext(). (#4260)
+ - Setting sesstion-timeout in web.xml did not prevent sessions from
+ timing out. (#4412)
+ - Fixed race condition in ServerSocketFactory.getDefault(). (#4418)
+ - Removed the restrictions on encoded spcecial characters in URLs
+ that was added as a security precaution in 3.2.3. The encoded
+ special characters are not decoded and remain the URL and
+ path info returned to servlets.
+ - Jk_nt_service now supports the ability to be restarted automatically
+ by the Windows 2000 service control manager if Tomcat terminates
+ abnormally.
+ - Fixed invalid servlet mapping in web.xml generated by JspC (#3474, #3499)
+ - Added findResource() and findResources() to AdaptiveClassLoader12
+ - A Date: HTTP header is now sent in responses when running stand
+ alone. (#345)
+ - Simple held on to a reference to removed objects preventing
+ garbage collection.
+ - Tomcat 3.2.4 now ships with JAXP 1.1. Prior releases used
+ JAXP 1.0.1. Tomcat 3.2.4 remains completely compatible with
+ the older version of JAXP and there is no requirement for users
+ to upgrade to JAXP 1.1 unless their applications require the new
+ version.
+ - Fixed NullPointerException in HttpConnectionHandler. (#4577)
+
+
+7.2 Security Vulnerabilities fixed in Tomcat 3.2.4
+
+The randomness of generated session ids has been enhanced to prevent the
+generation of guessable ids.
+
+
+7.3 Security vulnerabilities fixed in Tomcat 3.2.3
+
+Non-normalized URIs, for example /examples/jsp/security//protected/index.jsp or
+/examples/jsp/../jsp/security/protected/index.jsp would bypass the security
+constraints specified in web.xml.
+
+URIs are now normalized prior to use by the container. Servlets will receive
+the normalized path from calls to HttpServletRequest.getRequestURI(). This is
+expected to become the behaviour defined in the Servlet 2.3 specification.
+
+Also, URL encodings for special characters are now forbidden in request URIs.
+If a request URI contains %25, %2E, %2F or %5c a 404 error will be returned.
+This prevents the use of URL encodings to bypass the URI normalization process.
+
+7.4 Security vulnerabilities fixed in Tomcat 3.2.2
+
+7.4.1 HTTP Requests With no Protocol
+
+An HTTP request with no protocol specified would return an unprocessed
+source for a JSP file. For example
+
+GET /examples/jsp/num/numguess.jsp
+
+would return the source for the numguess.jsp file.
+
+7.4.2
+
+Tomcat 3.2.2 beta releases prior to beta 3 had allowed URI components
+to be decoded twice. This problem only appears when using JDK 1.3.0
+or later. The double decode problem caused URL such as
+
+http://localhost:8080/%252e%252e/%252e%252e/%00.jsp
+
+to reveal a directory listing outside the web application. Other
+versions of this same double decode attack could reveal the contents
+of files outside the web application.
+
+
+7.5 Security vulnerabilities fixed in Tomcat 3.2.1
+
+7.5.1 Protection of Resources in /WEB-INF and /META-INF Directories
+
+The servlet specification prohibits servlet containers from serving resources
+in the /WEB-INF and /META-INF directories of a web application archive directly
+to clients. In Tomcat 3.2, this means that URLs like:
+
+ http://localhost:8080/examples/WEB-INF/web.xml
+
+will return an error message, rather than the contents of your deployment
+descriptor. However, there is a vulnerability in Tomcat 3.2 that exposes
+this information if the client requests a URL like this instead:
+
+ http://localhost:8080/examples//WEB-INF/web.xml
+
+(note the double slash before "WEB-INF"). This vulnerability has been
+corrected in Tomcat 3.2.1.
+
+
+7.5.2 Show Source Vulnerability
+
+The example application delivered with Tomcat 3.2 included a mechanism to
+display the source code for the JSP page examples. This mechanism could
+be used to bypass the restrictions on displaying sensitive information in
+the WEB-INF and META-INF directories. This vulnerability has been removed.
+
+
Propchange: tomcat/site/trunk/docs/tomcat-3.2-doc/readme
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org