2011-01-12 17 views
5

Mam apache2 i tomcat6 (nie zainstalowane z repozytorium apt, ręcznie pobrane i zainstalowane) działające na porcie 80 z instalacją mod_jk. Strony serwletu jsp są dostępne, wskazując przeglądarkę na http://myapp.mydomain.com/ (wirtualny hosting odbywa się w tomcat (server.xml) i apache). Próbuję przekierować stronę błędu tomcat na stronie 503 do niestandardowej strony błędu, gdy tomcat jest wyłączony (pkill -9 java lub /etc/init.d/tomcat stop) podczas wdrażania.apache tomcat 503 niestandardowy błąd strona

mojego dokumentu głównego Apache jest/var/www/więc umieścić poniżej wejścia w apache2.conf pliku

ErrorDocument 503 maintenance.html i stworzył maintenance.html pliku w katalogu/var/www. Kiedy testowałem zatrzymywanie tomcat i otrzymałem stronę przekierowaną do strony maintenance.html bez zmiany adresu URL, ale faktyczna strona nie jest wyświetlana, zamiast tego nazwa pliku maintenance.html jest wyświetlana w przeglądarce. Czy ktokolwiek może mi pomóc poprawnie skonfigurować apache, który przekieruje na właściwą stronę maintenance.html, gdy tomcat jest wyłączony ?.

Odpowiedz

4

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

Chyba ErrorDocument 503 /maintenance.html powinno działać.

+0

W '/ etc/apache2/witryn-enabled/000-defaults' plik DocumentRoot jest'/var/www/zamiast ''/var/www' . Jeśli użyję '/ maintenance.html' zamiast' maintenance.html', otrzymam tę samą stronę błędu 'Serwer Temporarly Unavailable'. – user465465

+1

Podobnie jak http: //server-ip/maintenance.html działa i mogę dodać 'ErrorDocument 503 http: // server-ip/maintenance.html' w pliku konfiguracyjnym apache, ale działa to, ale strona pozostaje na stronie konserwacji i użytkownik musi ponownie wskazać adres URL http://mojapp.mydomain.com/ po uruchomieniu tomcat. – user465465

+1

Z apache docs (http://httpd.apache.org/docs/2.0/mod/core.html#documentroot), DocumentRoot powinien zostać określony bez ukośnego slasha. Powodzenia! – Raghuram

0

Jeśli używasz Apache ze złączami Tomcat, rozwiązanie jest nieco bardziej skomplikowane niż zwykłe dodawanie i dyrektywa ErrorDocument. Musisz wyraźnie powiedzieć Apache, aby NIE patrzył w zamontowane złącze twojego pliku /maintenance.html; raczej zamiast tego musi szukać lokalnie.

napisałem mój roztwór roboczy tego problemu here