2011-01-12 3 views
5

У меня есть apache2 и tomcat6 (не установлен из репозитория apt, загружен и установлен вручную), работающий на порту 80 с настройкой mod_jk. Доступ к страницам сервлетов jsp указывается в браузере на http://myapp.mydomain.com/ (виртуальный хостинг выполняется в tomcat (server.xml) и в apache). Я пытаюсь перенаправить страницу ошибки 503 tomcat на страницу пользовательской ошибки, когда tomcat не работает (pkill -9 java или /etc/init.d/tomcat stop) во время развертывания.apache tomcat 503 пользовательская страница ошибки

Document Root My Apache является/вар/WWW/так я помещаю ниже входа в apache2.conf файл

ErrorDocument 503 maintenance.html и создали файл maintenance.html в/вар/WWW. Когда я протестировал остановку tomcat, и я получил страницу, перенаправленную на maintenance.html без изменения URL-адреса, но фактическая страница не отображается, вместо этого в браузере отображается имя файла maintenance.html. Может ли кто-нибудь помочь мне правильно настроить apache, который перенаправляется на соответствующую страницу maintenance.html, когда tomcat не работает ?.

ответ

4

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

Я думаю ErrorDocument 503 /maintenance.html должен работать.

+0

В '/ и т.д./apache2/сайты с поддержкой/000-defaults' файла по DocumentRoot является'/вар/WWW/'вместо'/вар/www' , Если я использую '/ maintenance.html' вместо' maintenance.html', я получу ту же страницу ошибки «Сервер Temporarly Unavailable». – user465465

+1

Как и http: //server-ip/maintenance.html, я могу добавить 'ErrorDocument 503 http: // server-ip/maintenance.html' в конфигурационный файл apache, и это работает, но страница остается на странице обслуживания и пользователь снова должен указать URL-адрес http://myapp.mydomain.com/ после того, как tomcat встал. – user465465

+1

Из документов apache (http://httpd.apache.org/docs/2.0/mod/core.html#documentroot), DocumentRoot следует указывать без завершающей косой черты. Удачи тебе! – Raghuram

0

Если вы используете Apache с разъемами Tomcat, решение немного сложнее, чем просто добавление и директива ErrorDocument. Вы должны явно указать Apache, чтобы НЕ смотреть внутри смонтированного соединителя для вашего файла /maintenance.html; скорее, для этого нужно искать локально.

Я отправил свое рабочее решение этой проблемы here

Смежные вопросы