Hi, I've been trying to get Tomcat and Apache configured to avoid the need to reference the port number in the URL. Instead of http://localhost:8080/, I want to be able to say http://localhost/servlet/. Isn't that what mod_jk is supposed to do for me? At the moment I just like to get the same display of the default static web page that displays when I enter http://localhost:8080/. Am I missing something fundamental here? I've followed mod_jk-howto, apache-tomcat-howto, workers-howto. My configuration is entirely vanilla. Tomcat works fine standalone. Apache works fine standalone (including virtual hosts). My software is as follows: OS -> Win2000 Server Apache -> 1.3.14 JKD -> 1.3 Tomcat -> 3.2.1 excerpts from various config files and logs are: ################################################################### SERVER.XML: except for enabling debugging and the host section below, the server.xml file is as shipped with 3.2.1 ################################################################### <Host name="127.0.0.1" > <Context path="" docBase="webapps/examples" /> <Context path="/examples" docBase="webapps/ROOT" /> </Host> ################################################################### HTTPD.CONF except for setting the following, the httpd.conf is as shipped with 1.3.14 ################################################################### ServerRoot "i:/program files/Apache-1.3.14" DocumentRoot "i:/program files/Apache-1.3.14/htdocs" <Directory "i:/program files/Apache-1.3.14/htdocs"> ServerName localhost include I:/Dev/jakarta-tomcat/conf/mod_jk.conf NameVirtualHost * <VirtualHost *> ServerName localhost DocumentRoot "i:/program files/Apache-1.3.14/htdocs" JkMount /*.jsp ajp12 JkMount /servlet/* ajp12 </VirtualHost> <VirtualHost *> ServerAdmin [EMAIL PROTECTED] DocumentRoot "I:/DataFiles/SabrewingRoot" ServerName www.sabrewing.com ErrorLog logs/www.sabrewing.com-error_log JkMount /*.jsp ajp12 JkMount /servlet/* ajp12 CustomLog logs/www.sabrewing.com-access_log common </VirtualHost> ################################################################### MOD_JK.CONF ################################################################### ################################################################### # Auto generated configuration. Dated: Sun Dec 17 08:14:13 EST 2000 ################################################################### # # The following line instructs Apache to load the jk module # LoadModule jk_module modules/mod_jk.dll JkWorkersFile "I:/Dev/jakarta-tomcat/conf/workers.properties" JkLogFile "I:/Dev/jakarta-tomcat/logs/mod_jk.log" # # Log level to be used by mod_jk # JkLogLevel debug ################################################################### # SSL configuration # # # By default mod_jk is configured to collect SSL information from # the apache environment and send it to the Tomcat workers. The # problem is that there are many SSL solutions for Apache and as # a result the environment variable names may change. # # The following (commented out) JK related SSL configureation # can be used to customize mod_jk's SSL behaviour. # # Should mod_jk send SSL information to Tomact (default is On) # JkExtractSSL Off # # What is the indicator for SSL (default is HTTPS) # JkHTTPSIndicator HTTPS # # What is the indicator for SSL session (default is SSL_SESSION_ID) # JkSESSIONIndicator SSL_SESSION_ID # # What is the indicator for client SSL cipher suit (default is SSL_CIPHER) # JkCIPHERIndicator SSL_CIPHER # # What is the indicator for the client SSL certificated (default is SSL_CLIENT_CERT) # JkCERTSIndicator SSL_CLIENT_CERT # # # ################################################################### # # Root context mounts for Tomcat # JkMount /*.jsp ajp12 JkMount /servlet/* ajp12 ######################################################### # Auto configuration for the /examples context starts. ######################################################### # # The following line makes apache aware of the location of the /examples context # Alias /examples "I:/Dev/jakarta-tomcat/webapps/examples" <Directory "I:/Dev/jakarta-tomcat/webapps/examples"> Options Indexes FollowSymLinks </Directory> # # The following line mounts all JSP files and the /servlet/ uri to tomcat # JkMount /examples/servlet/* ajp12 JkMount /examples/*.jsp ajp12 # # The following line prohibits users from directly accessing WEB-INF # <Location "/examples/WEB-INF/"> AllowOverride None deny from all </Location> # # Use Directory too. On Windows, Location doesn't work unless case matches # <Directory "I:/Dev/jakarta-tomcat/webapps/examples/WEB-INF/"> AllowOverride None deny from all </Directory> # # The following line prohibits users from directly accessing META-INF # <Location "/examples/META-INF/"> AllowOverride None deny from all </Location> # # Use Directory too. On Windows, Location doesn't work unless case matches # <Directory "I:/Dev/jakarta-tomcat/webapps/examples/META-INF/"> AllowOverride None deny from all </Directory> ####################################################### # Auto configuration for the /examples context ends. ####################################################### ######################################################### # Auto configuration for the /admin context starts. ######################################################### # # The following line makes apache aware of the location of the /admin context # Alias /admin "I:/Dev/jakarta-tomcat/webapps/admin" <Directory "I:/Dev/jakarta-tomcat/webapps/admin"> Options Indexes FollowSymLinks </Directory> # # The following line mounts all JSP files and the /servlet/ uri to tomcat # JkMount /admin/servlet/* ajp12 JkMount /admin/*.jsp ajp12 # # The following line prohibits users from directly accessing WEB-INF # <Location "/admin/WEB-INF/"> AllowOverride None deny from all </Location> # # Use Directory too. On Windows, Location doesn't work unless case matches # <Directory "I:/Dev/jakarta-tomcat/webapps/admin/WEB-INF/"> AllowOverride None deny from all </Directory> # # The following line prohibits users from directly accessing META-INF # <Location "/admin/META-INF/"> AllowOverride None deny from all </Location> # # Use Directory too. On Windows, Location doesn't work unless case matches # <Directory "I:/Dev/jakarta-tomcat/webapps/admin/META-INF/"> AllowOverride None deny from all </Directory> ####################################################### # Auto configuration for the /admin context ends. ####################################################### ######################################################### # Auto configuration for the /test context starts. ######################################################### # # The following line makes apache aware of the location of the /test context # Alias /test "I:/Dev/jakarta-tomcat/webapps/test" <Directory "I:/Dev/jakarta-tomcat/webapps/test"> Options Indexes FollowSymLinks </Directory> # # The following line mounts all JSP files and the /servlet/ uri to tomcat # JkMount /test/servlet/* ajp12 JkMount /test/*.jsp ajp12 # # The following line prohibits users from directly accessing WEB-INF # <Location "/test/WEB-INF/"> AllowOverride None deny from all </Location> # # Use Directory too. On Windows, Location doesn't work unless case matches # <Directory "I:/Dev/jakarta-tomcat/webapps/test/WEB-INF/"> AllowOverride None deny from all </Directory> # # The following line prohibits users from directly accessing META-INF # <Location "/test/META-INF/"> AllowOverride None deny from all </Location> # # Use Directory too. On Windows, Location doesn't work unless case matches # <Directory "I:/Dev/jakarta-tomcat/webapps/test/META-INF/"> AllowOverride None deny from all </Directory> ####################################################### # Auto configuration for the /test context ends. ####################################################### ################################################################### MOD_JK.LOG the relevent section is-> ################################################################### [jk_ajp12_worker.c (134)]: In jk_endpoint_t::service, sd = 684 [jk_ajp12_worker.c (357)]: Into ajpv12_handle_request [jk_ajp12_worker.c (361)]: ajpv12_handle_request, sending the ajp12 start sequence [jk_ajp12_worker.c (390)]: ajpv12_handle_request, method="GET" [jk_ajp12_worker.c (392)]: ajpv12_handle_request, query_string="(null)" [jk_ajp12_worker.c (394)]: ajpv12_handle_request, server_name="localhost" [jk_ajp12_worker.c (396)]: ajpv12_handle_request, server_port="80" [jk_ajp12_worker.c (398)]: ajpv12_handle_request, server_software="Apache/1.3.14 (Win32) mod_jk" [jk_ajp12_worker.c (400)]: ajpv12_handle_request, protocol="HTTP/1.1" [jk_ajp12_worker.c (402)]: ajpv12_handle_request, auth_type="(null)" [jk_ajp12_worker.c (404)]: ajpv12_handle_request, remote_addr="127.0.0.1" [jk_ajp12_worker.c (406)]: ajpv12_handle_request, remote_host="(null)" [jk_ajp12_worker.c (408)]: ajpv12_handle_request, remote_user="(null)" [jk_ajp12_worker.c (410)]: ajpv12_handle_request, req_uri="/servlet/" [jk_ajp12_worker.c (412)]: ajpv12_handle_request, jvm_route="(null)" [jk_ajp12_worker.c (438)]: ajpv12_handle_request, sending the headers [jk_ajp12_worker.c (457)]: ajpv12_handle_request, sending the terminating mark [jk_ajp12_worker.c (497)]: ajpv12_handle_request done [jk_ajp12_worker.c (148)]: In jk_endpoint_t::service, sent request [jk_ajp12_worker.c (513)]: Into ajpv12_handle_response [jk_ajp12_worker.c (527)]: ajpv12_handle_response, read Status: 404 Not Found [jk_ajp12_worker.c (555)]: ajpv12_handle_response, read Status=404 Not Found [jk_ajp12_worker.c (527)]: ajpv12_handle_response, read Content-Type: text/html [jk_ajp12_worker.c (555)]: ajpv12_handle_response, read Content-Type=text/html [jk_ajp12_worker.c (567)]: ajpv12_handle_response, allocating header arrays [jk_ajp12_worker.c (527)]: ajpv12_handle_response, read Content-Length: 165 [jk_ajp12_worker.c (555)]: ajpv12_handle_response, read Content-Length=165 [jk_ajp12_worker.c (527)]: ajpv12_handle_response, read Servlet-Engine: Tomcat Web Server/3.2.1 (JSP 1.1; Servlet 2.2; Java 1.3.0; Windows 2000 5.0 x86; java.vendor=Sun Microsystems Inc.) [jk_ajp12_worker.c (555)]: ajpv12_handle_response, read Servlet-Engine=Tomcat Web Server/3.2.1 (JSP 1.1; Servlet 2.2; Java 1.3.0; Windows 2000 5.0 x86; java.vendor=Sun Microsystems Inc.) [jk_ajp12_worker.c (527)]: ajpv12_handle_response, read [jk_ajp12_worker.c (529)]: ajpv12_handle_response, headers are done [jk_ajp12_worker.c (588)]: ajpv12_handle_response, starting response [jk_ajp12_worker.c (599)]: ajpv12_handle_response, reading response body [jk_ajp12_worker.c (615)]: ajpv12_handle_response, response body is done [jk_ajp12_worker.c (627)]: ajpv12_handle_response done [jk_ajp12_worker.c (163)]: Into jk_endpoint_t::done ################################################################### JVM.STDERR the relevent section is-> ################################################################### 2000-12-18 08:16:07 - PoolTcpConnector: Starting HttpConnectionHandler on 8080 2000-12-18 08:16:07 - PoolTcpConnector: Starting Ajp12ConnectionHandler on 8007 2000-12-18 09:37:31 - ContextManager: AJP: CP=null 2000-12-18 09:37:31 - ContextManager: AJP: context=null 2000-12-18 09:37:31 - ContextManager: AJP: servlet=null 2000-12-18 09:37:31 - ContextManager: AJP: serverName=localhost 2000-12-18 09:37:31 - ContextManager: AJP: PI=null 2000-12-18 09:37:31 - ContextManager: AJP: PT=null 2000-12-18 09:37:31 - ContextManager: AJP: QS=null 2000-12-18 09:37:31 - ContextManager: AJP: RA=127.0.0.1 2000-12-18 09:37:31 - ContextManager: AJP: RH= 2000-12-18 09:37:31 - ContextManager: AJP: RU=null 2000-12-18 09:37:31 - ContextManager: AJP: AT=null 2000-12-18 09:37:31 - ContextManager: AJP: Meth=GET 2000-12-18 09:37:31 - ContextManager: AJP: URI: /servlet/ CP:null LP: null 2000-12-18 09:37:31 - ContextManager: AJP: URI: /servlet/ CP:null LP: null 2000-12-18 09:37:31 - ContextManager: AJP: serverName=localhost 2000-12-18 09:37:32 - ContextManager: AJP: Server jvmRoute=null 2000-12-18 09:37:32 - ContextManager: Request: /servlet/ 2000-12-18 09:37:32 - ContextManager: Query: null 2000-12-18 09:37:32 - ContextManager: ProcessRequest: R( /servlet/) 2000-12-18 09:37:32 - ContextManager: Host = localhost 2000-12-18 09:37:33 - ContextManager: SM: Prefix match /servlet/ -> null null 2000-12-18 09:37:33 - ContextManager: SimpleMapper1: Default map /servlet/ null 2000-12-18 09:37:33 - ContextManager: SimpleMapper1: SM: After mapping R( + /servlet/ + null) null 2000-12-18 09:37:33 - ContextManager: InvokerInterceptor: Original ServletPath=/servlet/ PathInfo=null 2000-12-18 09:37:33 - ContextManager: InvokerInterceptor: After pathfix SN= SP=/servlet/ PI=null 2000-12-18 09:37:33 - ContextManager: SimpleMapper1: SM: prefix map null:/servlet//* -> Ct ((/null) ) 2000-12-18 09:37:33 - ContextManager: InvokerInterceptor: Added mapping (/null) path=/servlet//* 2000-12-18 09:37:33 - ContextManager: After processing: R( + /servlet/ + null) 2000-12-18 09:37:33 - Ctx( ): 404 R( + /servlet/ + null) null 2000-12-18 09:37:33 - Ctx( ): Handler tomcat.notFoundHandler(null/null) tomcat.notFoundHandler 2000-12-18 09:37:33 - ContextManager: Before Body null 2000-12-18 09:44:38 - ContextManager: AJP: CP=null 2000-12-18 09:44:38 - ContextManager: AJP: context=null 2000-12-18 09:44:38 - ContextManager: AJP: servlet=null 2000-12-18 09:44:38 - ContextManager: AJP: serverName=localhost 2000-12-18 09:44:38 - ContextManager: AJP: PI=null 2000-12-18 09:44:38 - ContextManager: AJP: PT=null 2000-12-18 09:44:38 - ContextManager: AJP: QS=null 2000-12-18 09:44:38 - ContextManager: AJP: RA=127.0.0.1 2000-12-18 09:44:38 - ContextManager: AJP: RH= 2000-12-18 09:44:38 - ContextManager: AJP: RU=null 2000-12-18 09:44:38 - ContextManager: AJP: AT=null 2000-12-18 09:44:38 - ContextManager: AJP: Meth=GET 2000-12-18 09:44:38 - ContextManager: AJP: URI: /servlet/ CP:null LP: null 2000-12-18 09:44:38 - ContextManager: AJP: URI: /servlet/ CP:null LP: null 2000-12-18 09:44:38 - ContextManager: AJP: serverName=localhost 2000-12-18 09:44:38 - ContextManager: AJP: Server jvmRoute=null 2000-12-18 09:44:38 - ContextManager: Request: /servlet/ 2000-12-18 09:44:38 - ContextManager: Query: null 2000-12-18 09:44:38 - ContextManager: ProcessRequest: R( /servlet/) 2000-12-18 09:44:38 - ContextManager: Host = localhost 2000-12-18 09:44:38 - ContextManager: SM: Prefix match /servlet/ -> /servlet//* (/null) null 2000-12-18 09:44:38 - ContextManager: SimpleMapper1: Adjust for prefix map /servlet/ 2000-12-18 09:44:38 - ContextManager: SimpleMapper1: SM: After mapping R( + /servlet/ + null) (/null) 2000-12-18 09:44:38 - ContextManager: After processing: R( + /servlet/ + null) 2000-12-18 09:44:38 - Ctx( ): 404 R( + /servlet/ + null) null 2000-12-18 09:44:38 - Ctx( ): Handler tomcat.notFoundHandler(null/null) tomcat.notFoundHandler 2000-12-18 09:44:38 - ContextManager: Before Body null
