TomcatのリバースプロキシとしてApache2を使用しています。私の構成は次のようになります。
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
私の質問は、Tomcatがダウンしたときに常に礼儀ページ(「作成中」のHTML静的ページ)を表示するようにApacheを構成できますか?
これを行うには、Apache ErrorDocument ディレクティブを使用できます。 ErrorDocumentを指すにはURLを使用する必要があります。そうでない場合、ファイルシステム参照を使用すると、それを見つけようとするとさらに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は、Tomcatに接続できない場合、503 "サービスを利用できません"エラーをスローします。 "Nice" 503エラーページを作成できます。
ErrorDocument 503 /var/www/html/error/gonefishing.html
ローカルサーバーがデフォルトポートでリッスンしているApacheを使用している場合は、ローカルホストにERROR uriを指定し、そこでカスタムエラーページを使用できます。個別のドメイン/サーバーの必要性を否定します
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/