I'm trying to configure mod_jk 1.2.16.with Apache 1.3.26 and tomcat 5.0.28 on
Solaris 9. I compiled the mod_jk from source for the Apache version.
Unfortunately, I'm stuck with this environment.
Behavior with mod_jk ForwardDirectories:
When index.shtml exists
*
GOOD http://www.domain.com/EDS/index.shtml -> Loads as desired
*
GOOD http://www.domain.com/EDS/index.page -> Loads as desired
*
FAIL http://www.domain.com/EDS -> Pulls index.page from Tomcat,
ignoring Apache DirectoryIndex
*
FAIL http://www.domain.com/EDS/ -> Pulls index.page from Tomcat,
ignoring Apache DirectoryIndex
*
FAIL http://www.domain.com/ -> Displays Tomcat site chooser, ignoring
Apache DirectoryIndex (which would display EDS/index.shtml)
And now when index.shtml does not exist
* GOOD http://www.domain.com/EDS -> Pulls index.page from Tomcat,
ignoring Apache DirectoryIndex
* GOOD http://www.domain.com/EDS/ -> Pulls index.page from Tomcat,
ignoring Apache DirectoryIndex
* GOOD http://www.domain.com/ -> Displays Tomcat site chooser, ignoring
Apache DirectoryIndex (which would display EDS/index.shtml)
Behavior without mod_jk ForwardDirectories option:
When index.shtml exists
*
GOOD http://www.domain.com/EDS/index.shtml -> Loads as desired
*
GOOD http://www.domain.com/EDS/index.page -> Loads as desired
*
GOOD http://www.domain.com/EDS -> Pulls index.shtml from Apache
DirectoryIndex
*
GOOD http://www.domain.com/EDS/ -> Pulls index.shtml from Apache
DirectoryIndex
*
GOOD http://www.domain.com/ -> Displays /EDS/index.shtml
And now when index.shtml does not exist
*
FAIL http://www.domain.com/EDS -> Apache Access Denied error (does not
send request for directory "EDS" to Tomcat)
*
FAIL http://www.domain.com/EDS/ -> Apache Access Denied error (does not
send request for directory "EDS" to Tomcat)
*
FAIL http://www.domain.com/ -> Apache Access Denied error (does not
send request for directory "EDS" to Tomcat)
Relevant apache configuration:
LoadModule jk_module libexec/mod_jk.so.0.0.0
JkWorkersFile /cust/IBMHttpServer/conf/jk/worker.properties
JkShmFile /cust/IBMHttpServer/logs/mod_jk.shm
JkLogFile /cust/IBMHttpServer/logs/mod_jk.log
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkMount /*.page ajp13
JkOptions +ForwardDirectories
<VirtualHost 10.10.10.10:80>
DocumentRoot /cust/IBMHttpServer/htdocs/data
ServerName www.domain.com
ScriptAlias /cgi-bin /cust/IBMHttpServer/cgi-bin
DirectoryIndex /EDS/index.shtml
CheckSpelling off
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
JkMount /*.page ajp13
</VirtualHost>
mod_jk.log log entries for a request '/EDS/' when 'index.shtml' should be
displayed from the Apache DocumentRoot:
[Thu Oct 02 17:05:37 2008] [24767:0] [debug]
map_uri_to_worker::jk_uri_worker_map.c (682): Attempting to map URI '/EDS/'
from 1 maps
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] find_match::jk_uri_worker_map.c
(503): Attempting to map context URI '/*.page=ajp13' source 'JkMount'
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] jk_translate::mod_jk.c (2868): no
match for /EDS/ found
[Thu Oct 02 17:05:37 2008] [24767:0] [debug]
map_uri_to_worker::jk_uri_worker_map.c (682): Attempting to map URI
'/EDS/index.shtml' from 1 maps
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] find_match::jk_uri_worker_map.c
(503): Attempting to map context URI '/*.page=ajp13' source 'JkMount'
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] jk_translate::mod_jk.c (2868): no
match for /EDS/index.shtml found
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] jk_fixups::mod_jk.c (2947):
ForwardDirectories on: /EDS/
[Thu Oct 02 17:05:37 2008] [24767:0] [debug]
map_uri_to_worker::jk_uri_worker_map.c (682): Attempting to map URI '/EDS/'
from 1 maps
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] find_match::jk_uri_worker_map.c
(503): Attempting to map context URI '/*.page=ajp13' source 'JkMount'
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] jk_translate::mod_jk.c (2772):
Manual configuration for /EDS/ ajp13
[Thu Oct 02 17:05:37 2008] [24767:0] [debug]
wc_get_worker_for_name::jk_worker.c (115): found a worker ajp13
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] wc_maintain::jk_worker.c (323):
Maintaining worker ajp13
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] wc_get_name_for_type::jk_worker.c
(292): Found worker type 'ajp13'
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] init_ws_service::mod_jk.c (865):
Service protocol=HTTP/1.1 method=GET host=(null) addr=71.245.103.180 n
ame=www.domain.com port=80 auth=(null) user=(null) laddr=10.5.128.143
raddr=10.20.20.20 uri=/EDS/
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] ajp_get_endpoint::jk_ajp_common.c
(2579): acquired connection pool slot=0
[Thu Oct 02 17:05:37 2008] [24767:0] [debug]
ajp_marshal_into_msgb::jk_ajp_common.c (553): ajp marshaling done
[Thu Oct 02 17:05:37 2008] [24767:0] [debug] ajp_service::jk_ajp_common.c
(2050): processing ajp13 with 2 retries
[Thu Oct 02 17:05:37 2008] [24767:0] [debug]
ajp_connection_tcp_send_message::jk_ajp_common.c (934): sending to ajp13 pos=4
len=411 max=8192
Does anyone have any ideas? I tried increasing the Apache log level to debug,
thinking it could be a mod_dir problem, but there was no additional logging
output.