用のApacheでセットアップカスタムエラーページを使用すると、この予想される動作のmod_jkとTomcatコネクタを使用している場合することができます。あなたは
ErrorDocument 503 "foo"
のようなものを使用している場合、あなたは成功しsomedomain.comするご案内するページまたは
ErrorDocument 503 "http://www.somedomain.com"
にレンダリングされた「foo」を表示されます。あなたは
ErrorDocument 503 /maintenance.html
のようなものを使用している場合、それはTomcatのコネクタの文脈の中で見ているので、しかし、Apacheは[DocumentRootの] /maintenance.htmlを見つけることができません。あなたのコネクタをアンマウントし、別の場所から静的コンテンツを提供するようにApacheに指示する必要があります。
これは、mod_jkを使い始めるための良いガイドです。 Custom Error Pages with Apache and Tomcat Connectors
編集:ここで私がカスタマイズした503ページを適切にレンダリングするために使用したソリューションです。
最初に、私たちのカスタムエラーページにはすべて、エラーコードが付加されています.Webアプリケーションには、これらのステータスコードを持つファイルがファイル名のルートとして含まれていない可能性があります。これは、マウントJKからカスタムエラーページに関連するすべてのファイルを除外することが容易になります
/503_maintenance.html
/503_maintenance.css
/503_corp_logo.png
: だからあなたの例を使用するため、私は「custom_errors」というディレクトリに次の3つのファイルのようなものを持っているでしょう。私たちのバーチャルホストのファイルでは、我々は、エラードキュメントの場所やエイリアス
#Alias the location of your custom error page files
Alias /error/ /var/apache2/2.2/htdocs/custom_errors
ErrorDocument 503 /error/503_maintenance.html
#mount the core tomcat application
JkMount /* myWorker
#set the 503 code if myWorker is unavailable
#and exclude the 503 pages from the tomcat/jboss application
JkMount /* myWorker;use_server_errors=503
JkUnMount /503* myWorker
これは、基本的にはApacheに指示を設定し、Tomcatのコネクターのコンテキストで503接頭辞を持つすべてのファイルをマウントしていないのmod_jkと、それらのファイルにローカルになります代わりに。 DocumentRootに相対的な位置を使用したくない場合は、私のようにAliasを使用することができます。
はい、1台のマシンで動作しています。しかし、別のマシンではリダイレクトしていますが、メンテナンスページは表示されません。メンテナンスページの代わりに、私はtomcatを停止することをチェックするときにWebブラウザ上に 'maintenance.html'を表示しています。そこに何かトリックやヒントはありますか? – user465465