Se stai usando connettori mod_jk e Tomcat questo è il comportamento previsto. Se si usa qualcosa come
ErrorDocument 503 "foo"
si vedrà 'pippo' reso sulla pagina o
ErrorDocument 503 "http://www.somedomain.com"
che vi indirizzerà alla someDomain.com successo. Ma se si utilizza qualcosa come
ErrorDocument 503 /maintenance.html
Apache non sarà in grado di trovare [DocumentRoot] /maintenance.html dal momento che sta cercando nel contesto del connettore Tomcat. È necessario smontare il connettore e indicare ad Apache di pubblicare contenuto statico da un'altra posizione.
Questa è una buona guida per iniziare con mod_jk. Custom Error Pages with Apache and Tomcat Connectors
modifica: ecco la soluzione che ho impiegato per ottenere correttamente le nostre 503 pagine personalizzate.
In primo luogo, tutte le nostre pagine di errore personalizzate sono precedute dal codice di errore poiché è probabile che la nostra app Web non contenga file con questi codici di stato come la radice del nome del file. Quindi per usare il tuo esempio, avrei qualcosa come i seguenti tre file in una directory chiamata 'custom_errors':
/503_maintenance.html
/503_maintenance.css
/503_corp_logo.png
Ciò rende più semplice per escludere tutti i file relativi a pagine di errore personalizzate dal jk montaggio. Nel nostro file vhost, quindi abbiamo impostato la posizione del documento di errore e alias
#Alias the location of your custom error page files
Alias /error/ /var/apache2/2.2/htdocs/custom_errors
ErrorDocument 503 /error/503_maintenance.html
#mount the core tomcat application
JkMount /* myWorker
#set the 503 code if myWorker is unavailable
#and exclude the 503 pages from the tomcat/jboss application
JkMount /* myWorker;use_server_errors=503
JkUnMount /503* myWorker
Questo dice in sostanza di Apache e non mod_jk di montare qualsiasi file con il prefisso 503 nel contesto del connettore Tomcat e cercheremo a livello locale per i file anziché. Se non si desidera utilizzare una posizione relativa a DocumentRoot, è possibile utilizzare e alias come ho fatto io.
sì, sta lavorando su una macchina. Ma su un'altra macchina sta reindirizzando ma la pagina di manutenzione non viene visualizzata. Invece della pagina di manutenzione mostra 'maintenance.html' sul browser web quando controllo l'arresto del tomcat. C'è qualche trucco o suggerimenti qui? – user465465