2011-01-12 38 views
5

Tengo apache2 y tomcat6 (no instalado desde el repositorio apt, descargado e instalado manualmente) ejecutándose en el puerto 80 con la instalación de mod_jk. Se accede a las páginas del servlet jsp señalando el navegador al http://myapp.mydomain.com/ (el alojamiento virtual se realiza en tomcat (server.xml) y en apache). Estoy intentando redirigir la página de error de tomcat 503 a la página de error personalizada cuando tomcat está inactivo (pkill -9 java o /etc/init.d/tomcat stop) durante la implementación.apache tomcat 503 página de error personalizado

de mi apache documento raíz es/var/www/así que coloque debajo de la entrada en el archivo de apache2.conf

ErrorDocument 503 maintenance.html y creó un maintenance.html archivo en/var/www. Cuando probé parando el tomcat y obtuve la página redirigida a maintenance.html sin tener que cambiar la URL, pero la página actual no se muestra, en su lugar aparece el nombre del archivo maintenance.html en el navegador. ¿Alguien me puede ayudar a configurar apropiadamente Apache que redirecciona a la página maintenance.html adecuada cuando tomcat no funciona?

Respuesta

4

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

supongo ErrorDocument 503 /maintenance.html debería funcionar.

+0

En el '/ etc/apache2/sites-enabled archivo/000-defaults' DocumentRootes'/var/www/'en lugar'/var/www' . Si uso '/ maintenance.html' en lugar de' maintenance.html' obtendré la misma página de error 'Server Temporarly Unavailable'. – user465465

+1

Como http: //server-ip/maintenance.html funciona y puedo agregar 'ErrorDocument 503 http: // server-ip/maintenance.html' en el archivo de configuración de apache y esto funciona, pero la página permanece en la página de mantenimiento y el usuario debe señalar nuevamente la url a http://myapp.mydomain.com/ después de que el tomcat esté activo. – user465465

+1

de apache docs (http://httpd.apache.org/docs/2.0/mod/core.html#documentroot), DocumentRoot debe especificarse sin una barra al final. ¡Buena suerte para ti! – Raghuram

0

Si está utilizando Apache con conectores Tomcat, la solución es un poco más complicada que simplemente agregar y la directiva ErrorDocument. Tiene que decirle explícitamente a Apache que NO mire dentro del conector montado para su archivo /maintenance.html; más bien, necesita buscarlo localmente.

he publicado mi solución de trabajo a este problema here

Cuestiones relacionadas