Hans van Zijst wrote:
Hi,

Since I updated my system last week, mod_jk doesn't work anymore. Tomcat starts 
up just fine, no errors or warnings. I checked that the AJP1.3 connector runs, 
it listens on port 8009. Apache runs fine as well, but as soon as I connect to 
the URL I mapped to Tomcat, I get:

"[error] jk_handler::mod_jk.c (2223): Could not init service for 
worker=confluence"

I did a few traces and found out that no connection is attempted to port 8009, 
so I assume the problem is somewhere in my Apache config. I'm lost for answers 
as I couldn't find anything on the web or in my documentation. Can anyone 
please point me in the right direction?


This is my configuration:

Linux (Debian Lenny, i386)
Tomcat 5.5
Apache 2.2.6
mod_jk 1.2.25

Fine.
What's your platform (OS)?

Here's my workers.properties:

---- BEGIN workers.properties ----

worker.list=confluence

worker.confluence.host=localhost
worker.confluence.port=8009
worker.confluence.type=ajp13

Very basic, but OK.

---- END workers.properties ----

I configured mod_jk to log as much as possible. This is what it logs (from startup to 
"Internal server error"):

What do you mean by "Internal server error": this string is not shown here. Is there anything in the Apache error log?

---- BEGIN mod_jk log ----

[Thu Oct 11 11:10:04.742 2007] [15501:3078624944] [debug] open_jklog::mod_jk.c 
(2652): log time stamp format is '[%a %b %d %H:%M:%S.%Q %Y] '
[Thu Oct 11 11:10:04.742 2007] [15501:3078624944] [debug] 
uri_worker_map_open::jk_uri_worker_map.c (423): rule map size is 2
[Thu Oct 11 11:10:04.742 2007] [15501:3078624944] [debug] 
uri_worker_map_add::jk_uri_worker_map.c (372): exact rule 
'/confluence=confluence' source 'JkMount' was added
[Thu Oct 11 11:10:04.742 2007] [15501:3078624944] [debug] 
uri_worker_map_add::jk_uri_worker_map.c (364): wildchar rule 
'/confluence/*=confluence' source 'JkMount' was added
[Thu Oct 11 11:10:04.742 2007] [15501:3078624944] [info] init_jk::mod_jk.c 
(2775): mod_jk/1.2.25 initialized
[Thu Oct 11 11:10:04.890 2007] [15502:3078624944] [debug] open_jklog::mod_jk.c 
(2652): log time stamp format is '[%a %b %d %H:%M:%S.%Q %Y] '
[Thu Oct 11 11:10:04.890 2007] [15502:3078624944] [debug] 
uri_worker_map_open::jk_uri_worker_map.c (423): rule map size is 2
[Thu Oct 11 11:10:04.890 2007] [15502:3078624944] [debug] 
uri_worker_map_add::jk_uri_worker_map.c (372): exact rule 
'/confluence=confluence' source 'JkMount' was added
[Thu Oct 11 11:10:04.890 2007] [15502:3078624944] [debug] 
uri_worker_map_add::jk_uri_worker_map.c (364): wildchar rule 
'/confluence/*=confluence' source 'JkMount' was added
[Thu Oct 11 11:10:04.891 2007] [15502:3078624944] [info] init_jk::mod_jk.c 
(2775): mod_jk/1.2.25 initialized
[Thu Oct 11 11:10:14.351 2007] [15508:3060181904] [debug] 
map_uri_to_worker::jk_uri_worker_map.c (597): Attempting to map URI 
'/confluence/' from 2 maps
[Thu Oct 11 11:10:14.351 2007] [15508:3060181904] [debug] 
map_uri_to_worker::jk_uri_worker_map.c (609): Attempting to map context URI 
'/confluence/*=confluence' source 'JkMount'
[Thu Oct 11 11:10:14.351 2007] [15508:3060181904] [debug] 
map_uri_to_worker::jk_uri_worker_map.c (624): Found a wildchar match 
'/confluence/*=confluence'
[Thu Oct 11 11:10:14.351 2007] [15508:3060181904] [debug] jk_handler::mod_jk.c 
(2131): Into handler jakarta-servlet worker=confluence r->proxyreq=0
[Thu Oct 11 11:10:14.351 2007] [15508:3060181904] [debug] 
wc_get_worker_for_name::jk_worker.c (115): found a worker confluence
[Thu Oct 11 11:10:14.351 2007] [15508:3060181904] [debug] 
wc_maintain::jk_worker.c (323): Maintaining worker confluence
[Thu Oct 11 11:10:14.351 2007] [15508:3060181904] [debug] 
wc_get_name_for_type::jk_worker.c (292): Found worker type 'ajp13'
[Thu Oct 11 11:10:14.351 2007] [15508:3060181904] [error] jk_handler::mod_jk.c 
(2223): Could not init service for worker=confluence

this dump doesn't show any lines, which assure, that workers.properties got found and read. Usually it should dump the contents of the workers.properties in debug log level.

You should find lines close to the following:

[Tue Oct 16 12:08:49.730 2007] [7002:1] [debug] do_shm_open::jk_shm.c (402): Truncated shared memory to 28800 [Tue Oct 16 12:08:49.731 2007] [7002:1] [debug] do_shm_open::jk_shm.c (447): Initialized shared memory size=28800 free=28672 addr=0xfee50000 [Tue Oct 16 12:08:49.731 2007] [7002:1] [debug] do_shm_open_lock::jk_shm.c (321): Opened shared memory lock /some/path/logs/jk-runtime-status.7002.lock [Tue Oct 16 12:08:49.731 2007] [7002:1] [debug] init_jk::mod_jk.c (2673): Initialized shm:/some/path/logs/jk-runtime-status.7002 (28672 bytes) [Tue Oct 16 12:08:49.731 2007] [7002:1] [debug] init_jk::mod_jk.c (2690): Setting default connection pool max size to 1 [Tue Oct 16 12:08:49.731 2007] [7002:1] [debug] jk_map_read_property::jk_map.c (492): Adding property 'worker.list' with value 'confluence' to map. [Tue Oct 16 12:08:49.731 2007] [7002:1] [debug] jk_map_resolve_references::jk_map.c (752): Checking for references with prefix worker. with wildcard (recursion 1) [Tue Oct 16 12:08:49.731 2007] [7002:1] [debug] jk_map_dump::jk_map.c (590): Dump of map: 'ServerRoot' -> '/opt/build/test/apache22-prefork-2.2.6sp1_0.9.8e-1' [Tue Oct 16 12:08:49.732 2007] [7002:1] [debug] jk_map_dump::jk_map.c (590): Dump of map: 'worker.list' -> 'confluence' [Tue Oct 16 12:08:49.732 2007] [7002:1] [debug] build_worker_map::jk_worker.c (241): creating worker confluence [Tue Oct 16 12:08:49.732 2007] [7002:1] [debug] wc_create_worker::jk_worker.c (145): about to create instance confluence of ajp13 [Tue Oct 16 12:08:49.732 2007] [7002:1] [debug] wc_create_worker::jk_worker.c (158): about to validate and init confluence [Tue Oct 16 12:08:49.732 2007] [7002:1] [debug] ajp_validate::jk_ajp_common.c (2216): worker confluence contact is 'localhost:8009' [Tue Oct 16 12:08:49.732 2007] [7002:1] [debug] ajp_init::jk_ajp_common.c (2346): setting endpoint options: [Tue Oct 16 12:08:49.732 2007] [7002:1] [debug] ajp_init::jk_ajp_common.c (2349): keepalive: 0 [Tue Oct 16 12:08:49.732 2007] [7002:1] [debug] ajp_init::jk_ajp_common.c (2353): timeout: 0 [Tue Oct 16 12:08:49.732 2007] [7002:1] [debug] ajp_init::jk_ajp_common.c (2357): buffer size: 0 [Tue Oct 16 12:08:49.733 2007] [7002:1] [debug] ajp_init::jk_ajp_common.c (2361): pool timeout: 0 [Tue Oct 16 12:08:49.733 2007] [7002:1] [debug] ajp_init::jk_ajp_common.c (2365): connect timeout: 0 [Tue Oct 16 12:08:49.733 2007] [7002:1] [debug] ajp_init::jk_ajp_common.c (2369): reply timeout: 0 [Tue Oct 16 12:08:49.733 2007] [7002:1] [debug] ajp_init::jk_ajp_common.c (2373): prepost timeout: 0 [Tue Oct 16 12:08:49.733 2007] [7002:1] [debug] ajp_init::jk_ajp_common.c (2377): recovery options: 0 [Tue Oct 16 12:08:49.733 2007] [7002:1] [debug] ajp_init::jk_ajp_common.c (2381): retries: 2 [Tue Oct 16 12:08:49.733 2007] [7002:1] [debug] ajp_init::jk_ajp_common.c (2385): max packet size: 8192 [Tue Oct 16 12:08:49.733 2007] [7002:1] [debug] ajp_create_endpoint_cache::jk_ajp_common.c (2253): setting connection pool size to 1 with min 1 [Tue Oct 16 12:08:49.733 2007] [7002:1] [info] init_jk::mod_jk.c (2723): mod_jk/1.2.26-dev initialized

---- END mod_jk log ----

This is the Virtual Host I configured in Apache. Apache does client 
authentication: if you don't have the right SSL certificate, you're not coming 
in.

---- BEGIN virtual host ----
NameVirtualHost *:80

<VirtualHost *:80>
        ServerAdmin xxxx
        ServerName xxxx
        ServerAlias xxxx

        RewriteEngine On
        RewriteLogLevel 3
        RewriteRule ^(/)(.*)$ https://%{HTTP_HOST}/confluence/$2 [R,L]
        ServerSignature Off

</VirtualHost>

NameVirtualHost *:443
<VirtualHost *:443>
        ServerAdmin xxxx
        ServerName xxxx
        ServerAlias xxxx

        SSLEngine On
        SSLVerifyClient require
        SSLVerifyDepth 2
        SSLCACertificateFile /etc/apache2/ssl/minichain.crt
        SSLCertificateChainFile /etc/apache2/ssl/minichain.crt

        RewriteEngine On
        RewriteLogLevel 3
        RewriteRule ^/confluence/ - [R,L]
        RewriteRule ^(.*)$ /confluence/$1 [R,L,NE]


        DocumentRoot /var/www/confluence/confluence
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/confluence/confluence/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                SSLRequireSSL
        </Directory>

        Alias /confluence /var/www/confluence/confluence

        <Location "/confluence/WEB-INF/*">
deny from all </Location>

        <Location "/confluence/META-INF/*">
deny from all </Location>

        ErrorLog /var/log/apache2/error.log

        LogLevel info

        CustomLog /var/log/apache2/access.log combined
        ServerSignature Off

        JkLogFile /var/log/apache2/mod_jk.log
        JkLogLevel debug
        JkMount /confluence confluence
        JkMount /confluence/* confluence
        JkOptions +ForwardURICompatUnparsed

</VirtualHost>

---- END virtual host ----

Apache is pointed to the workers file in the load/config file for mod_jk, so it's outside 
the VirtualHost. As I see the name "confluence" in the mod_jk.log, I assume 
Apache parses it when it starts up.

How does that file look like? Are the paths OK? Does that file really get read in?

Any suggestions?

Greetings,

Hans

Regards,

Rainer

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to