mod_jk: Could not init service for worker

mod_jk: Could not init service for worker

am 15.10.2007 17:17:57 von Hans van Zijst

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

Here's my workers.properties:

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

worker.list=confluence

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

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

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

---- 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

---- 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


ServerAdmin xxxx
ServerName xxxx
ServerAlias xxxx

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



NameVirtualHost *: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

Options FollowSymLinks
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
SSLRequireSSL


Alias /confluence /var/www/confluence/confluence


deny from all



deny from all


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



---- 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.

Any suggestions?

Greetings,

Hans