This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat-connectors.git
The following commit(s) were added to refs/heads/main by this push:
new 334e44546 Update IIS how-to, particularly diagnostics
334e44546 is described below
commit 334e44546476807a0cc671cddc02d035adbd68e1
Author: Mark Thomas <[email protected]>
AuthorDate: Tue Sep 12 17:18:41 2023 +0100
Update IIS how-to, particularly diagnostics
---
xdocs/webserver_howto/iis.xml | 451 +++++++++++++++---------------------------
1 file changed, 161 insertions(+), 290 deletions(-)
diff --git a/xdocs/webserver_howto/iis.xml b/xdocs/webserver_howto/iis.xml
index 64043136f..c1c01b598 100644
--- a/xdocs/webserver_howto/iis.xml
+++ b/xdocs/webserver_howto/iis.xml
@@ -34,8 +34,8 @@ This document explains how to set up the ISAPI redirector for
IIS to cooperate w
</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>
@@ -178,8 +178,8 @@ Adding more contexts to the configuration.
<subsection name="Configuring the ISAPI Redirector">
<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>
@@ -337,17 +337,17 @@ to your uriworkermap.properties file (for example
<b>c:\tomcat\conf\uriworkermap
<subsection name="64 Bit notes">
<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>
</subsection>
@@ -360,7 +360,7 @@ but you will also need to add your own contexts. Adding a
new context requires t
<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.
@@ -376,40 +376,46 @@ your uriworkermap.properties and to add a line that looks
like:
</source>
<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>
-<source>/shop/*=defworker
+<source>/shop/*=tomcat01
</source>
-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>
</subsection>
<subsection name="Advanced Context Configuration">
<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).
+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.
+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>
+<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
@@ -421,66 +427,73 @@ Configuring the redirector to leave the static files for
IIS
</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:
<source>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
</source>
</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:
-<source>/example/servlets/chat=defworker
+<source>/example/servlets/chat=tomcat01
</source>
</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>
</subsection>
<subsection name="Protecting the content of your Tomcat contexts">
-<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.
+<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.
</p>
</subsection>
<subsection name="Advanced Worker Configuration">
<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>
@@ -497,8 +510,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:
<source>example uriworkermap.properties fragment
/examples/*=worker1
/webpages/*=worker2
@@ -511,8 +524,9 @@ As you can see the <b>examples</b> context is served by
<b>worker1</b> while the
</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>
</subsection>
@@ -521,318 +535,175 @@ and in the <a
href="../reference/workers.html">worker.properties configuration r
<section name="Building the ISAPI redirector">
<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.
+<source>c:\cmsc\setenv.bat x86
+nmake -f Makefile.vc
+c:\cmsc\setenv.bat x64
+nmake -f Makefile.vc
+</source>
</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>
</section>
<section name="Troubleshooting">
<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>
-<subsection name="Win98">
+<subsection name="Diagnostics steps">
<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>
<source>GET "/examples/ HTTP/1.1" 404
</source>
-<p>
-then the ISAPI redirector is not recognising that it should be handling
requests for the "/examples" context.
-Check the following:
+then the ISAPI redirector is not recognising that it should be handling
requests
+for the "/examples" context.
</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:
-</p>
-
+<p>
+If the last line contains something like:
<source>GET "/jakarta/isapi_redirect.dll HTTP1.1"
</source>
-
-<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>
-
-<source>Error 404
- GET "/..." 404
-</source>
-
-<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>
-
-<source>Error 500
-GET "/..." 500
-</source>
-
-<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>
-
-<source>Error 200 or 403
-GET "/..." 200
-GET "/..." 403
-</source>
-
+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>
-</subsection>
-
-<subsection name="WinNT/Win2K/WinXP">
<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>
-<source>Error 404
-GET "/..." 404
-</source>
-
-<ul>
-<li>
-Make sure you entered the URL correctly.
-</li>
-</ul>
-
-<source>Error 500
-GET "/..." 500
-</source>
-
-<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>
-
-<source>Error 200 or 403
-GET "/..." 200
-GET "/..." 403
-</source>
-
-<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>
-</subsection>
+</subsection>
</section>
</body>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]