Question

I have apache2 and tomcat6(not installed from apt repository, manually downloaded and installed) running on port 80 with mod_jk setup. The jsp servlet pages are accessed pointing the browser to http://myapp.mydomain.com/ (virtual hosting is done in tomcat(server.xml) and in apache). I'm trying to redirect tomcat's error page 503 to custom error page when tomcat is down(pkill -9 java or /etc/init.d/tomcat stop) during deployment.

My apache's Document Root is /var/www/ so I place below entry in apache2.conf file

ErrorDocument 503 maintenance.html and created a file maintenance.html under /var/www. When I tested stopping the tomcat and I got the page redirected to maintenance.html without having the url changed but the actual page is not displayed, instead the file name maintenance.html is displayed on the browser. Could any one help me properly configuring apache that redirects to proper maintenance.html page when tomcat is down?.

Was it helpful?

Solution

From the apache documentation,

URLs can begin with a slash (/) for local web-paths (relative to the 
DocumentRoot), or be a full URL which the client can resolve.

I guess ErrorDocument 503 /maintenance.html should work.

OTHER TIPS

If you're using Apache with Tomcat connectors, the solution is slightly more complicated than simply adding and ErrorDocument directive. You have to explicitly tell Apache to NOT look within the mounted connector for your /maintenance.html file; rather it needs to look locally for it instead.

I posted my working solution to this problem here

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top