Я использую Apache2 в качестве обратного прокси для tomcat, моя конфигурация выглядит примерно так:
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
Мой вопрос: могу ли я настроить Apache для отображения вспомогательной страницы (статической HTML-страницы «в стадии разработки»), когда Tomcat не работает?
Вы можете использовать Apache ErrorDocument директива для этого. Вы должны использовать URL-адрес, чтобы указать на ваш ErrorDocument, иначе, если вы используете ссылку на файловую систему, вы получите дополнительные 503 при попытке ее найти.
ErrorDocument 503 http://somehost.tld/errors/503.html
Вот решение без дополнительного сервера или другого порта:
ProxyPass /http_errors/ !
#Actual proxy config, must be below exception!
ProxyPass / ajp://myserver:12345/
Alias /http_errors/ /var/www/http/
ErrorDocument 503 /http_errors/503.html
Коротко:
Итак, для настройки выше в случае возникновения проблемы показан файл /var/www/http/503.html.
Apache выдаст ошибку 503 «Служба недоступна», если не сможет подключиться к Tomcat. Вы можете просто создать "красивую" страницу с ошибкой 503.
ErrorDocument 503 /var/www/html/error/gonefishing.html
Если на вашем локальном сервере есть apache, прослушивающий порты по умолчанию, вы можете указать uri ERROR на локальный хост и иметь там доступные страницы ошибок. Отменит потребность в отдельном домене / сервере
ProxyPass /ERROR http:// localhost:80/
ProxyPass / http:// localhost:8080/
ProxyPassReverse / http:// localhost:8080/
ErrorDocument 503 /ERROR/custom_50x.html
Вы также можете предотвратить все /error/
запросы от проксирования на внутренний сервер:
ProxyPass /error/ !
ProxyPass / http:// localhost:8080/
ProxyPassReverse / http:// localhost:8080/
Порядок операторов ProxyPass, указанный в информации @ snyman, очень важен. Ошибка proxypass должна быть первым оператором proxypass для виртуального хоста до того, как будут записаны любые другие операторы proxypass.
это мой опыт работы с centos 7 с apache 2.4 и tomcat7