2011-01-12 18 views
5

Ho apache2 e tomcat6 (non installato dal repository apt, scaricato e installato manualmente) in esecuzione sulla porta 80 con installazione mod_jk. Si accede alle pagine del servlet jsp puntando il browser su http://myapp.mydomain.com/ (l'hosting virtuale viene eseguito in tomcat (server.xml) e in apache). Sto cercando di reindirizzare la pagina di errore 503 di tomcat alla pagina di errore personalizzata quando tomcat è inattivo (pkill -9 java o /etc/init.d/tomcat stop) durante l'implementazione.apache tomcat 503 pagina errore personalizzata

di mio apache documento radice è/var/www/così ho posto sotto voce nel file di apache2.conf

ErrorDocument 503 maintenance.html e ha creato un maintenance.html file in/var/www. Quando ho provato a fermare il tomcat, ho ottenuto la pagina reindirizzata a maintenance.html senza che l'url fosse cambiato, ma la pagina effettiva non viene visualizzata, ma il nome del file maintenance.html viene visualizzato sul browser. Qualcuno potrebbe aiutarmi a configurare correttamente Apache che reindirizza alla corretta pagina maintenance.html quando tomcat è inattivo ?.

risposta

4

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

immagino ErrorDocument 503 /maintenance.html dovrebbe funzionare.

+0

Nel '/ etc/apache2/sites-enabled file/000-defaults' la DocumentRoot è'/var/www/', invece'/var/www' . Se uso '/ maintenance.html' invece' maintenance.html' otterrò la stessa pagina di errore 'Server Temporaneamente non disponibile'. – user465465

+1

Come http: //server-ip/maintenance.html funziona e posso aggiungere 'ErrorDocument 503 http: // server-ip/maintenance.html' nel file di configurazione di apache e questo funziona ma la pagina rimane nella pagina di manutenzione e l'utente deve nuovamente puntare l'URL su http://myapp.mydomain.com/ dopo che il tomcat è attivo. – user465465

+1

Da apache docs (http://httpd.apache.org/docs/2.0/mod/core.html#documentroot), DocumentRoot deve essere specificato senza una barra finale. Buona fortuna a te! – Raghuram

0

Se si utilizza Apache con i connettori Tomcat, la soluzione è leggermente più complicata della semplice aggiunta e della direttiva ErrorDocument. Devi dire esplicitamente ad Apache di NON guardare all'interno del connettore montato per il tuo file /maintenance.html; piuttosto ha bisogno di cercare localmente invece di farlo.

ho postato la mia soluzione di lavoro a questo problema here

Problemi correlati