Please open an issue in Bugzilla.

Sebastian schrieb:
> Hello,
> 
> I'm in the process of integrating Tomcat with Apache httpd using the
> mod_jk Tomcat Connector. The just released mod_jk 1.2.27 seems to
> provide a solution for one of my open issues: the ability to use
> httpd's ErrorDocument instead of Tomcat's default error pages or
> <error-page> definitions from my webapp.
> 
> To use the new extension "use_server_errors" I switched from JkMount
> statements in httpd.conf to JkMountFile and uriworkermap.properties
> but I can't get it to work.
> 
> Here is what I tried so far on my way to this message:
> - no <error-page> in web.xml = Tomcats default 404 page
> - <error-page> in web.xml using an empty file in my webapp as location
> = Empty page
> - experiment with fail_on_status extension, which does work. If i set
> this extension to -404 (see commented line in uriworkermap.properties
> below) i get httpd's 503 ErrorDocument.
> 
> I had to compile mod_jk from source and so I took a peek at the source
> and added some debug logging in jk_ajp_common.c/ajp_process_callback()
> and jk_uri_worker_map.c/uri_worker_map_add() to dig a little deeper.
> 
> Note: I'm far from grasping the whole mod_jk and so the following
> analysis might be completely off, but maybe I'm on the right track and
> we can progress from here.
> 
> The logging seems to confirm that my configuration is processed
> correctly but I found two issues and stopped there:
> 1. In ajp_process_callback() the value of
> r->extension.use_server_error_pages is 0 and not 404 as i expected.
> The response from Tomcat is therefore not blocked here and send to the
> client.
> 2. If I hard code r->extension.use_server_error_pages = 404 in
> ajp_process_callback() the response is blocked but apperently httpd
> does not pick up and send it's ErrorDocument so the client waits with
> a blank window (and seems to get a http status code 200).
> 
> I hope somebody already tried the new extension and can help me with
> this problem.
> Thanks,
> Sebastian
> 
> 
> Excerpts from my config files and version information follow below.
> 
> httpd.conf:
> ===========
> LoadModule    jk_module  libexec/mod_jk.so.1.2.27
> JkShmFile     /path/to/httpd/logs/mod_jk.shm
> JkWorkersFile /path/to/httpd/conf/workers.properties
> 
> <VirtualHost host.example.com:9009>
>     ServerName  example.com
> 
>     ErrorDocument 404 /errors/notfound.shtml
>     ErrorDocument 401 /errors/unauthorized.shtml
>     ErrorDocument 403 /errors/forbidden.shtml
>     ErrorDocument 500 /errors/servererror.shtml
>     ErrorDocument 503 /errors/servererror.shtml
> 
>     RewriteEngine   on
>     RewriteLog      "logs/rewrite.log"
>     RewriteLogLevel 9
> 
>     JkLogFile    /path/to/httpd/logs/mod_jk.log
>     JkLogLevel   debug
>     JkMountFile  /path/to/httpd/conf/uriworkermap.properties
>     JkMountFileReload 0
> </VirtualHost>
> 
> uriworkermap.properties:
> ========================
> # Map /appname and everything below /appname/ to worker1
> # all status codes >= 400 shall use ErrorDocument
> /appname*=worker1;use_server_errors=400
> 
> # experiment (works as I expected):
> # 404 from tomcat results in ErrorDocument 503
> #/appname*=worker1;use_server_errors=400;fail_on_status=-404
> 
> Version information:
> ====================
> - Tomcat: 6.0.18
> - mod_jk: 1.2.27 (compiled from source, only configure option was
> --with-apxs=/path/to/apxs)
> - httpd: 1.3.34
> - JDK: 1.6.0_07
> - OS: Linux Debian 4.0 "Etch" Stable

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