2011-01-12 8 views
5

私はapache2とtomcat6(aptリポジトリからインストールされていない、手動でダウンロードしてインストールしました)をmod_jk setupでポート80で実行しています。 jspサーブレット・ページにアクセスして、ブラウザをhttp://myapp.mydomain.com/に設定します(仮想ホストはtomcat(server.xml)とapacheで実行されます)。私は、Tomcatがダウンしているとき(pkill -9 javaまたは/etc/init.d/tomcat stop)、展開中にtomcatのエラーページ503をカスタムエラーページにリダイレクトしようとしています。apache tomcat 503カスタムエラーページ

私のApacheのドキュメントルートは、は/ var/WWWである/私はapache2.confファイル内のエントリの下

ErrorDocument 503 maintenance.htmlを置くと/ var/www以下のファイルmaintenance.htmlを作成しました。私はtomcatをテストして、URLを変更せずにmaintenance.htmlにリダイレクトされたページを取得しましたが、実際のページは表示されず、代わりにブラウザにファイル名maintenance.htmlが表示されます。 Tomcatがダウンしているとき、適切なmaintenance.htmlページにリダイレクトするApacheを正しく設定するのに役立つだろうか? apache documentationから

答えて

4

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

に私の作業溶液を掲載。私が 'maintenance.html'の代わりに' '/ maintenance.html''を使用すると、同じ' 'サーバ一時的に利用できません 'というエラーページが表示されます。 – user465465

+1

http://server-ip/maintenance.htmlのように動作し、Apacheの設定ファイルに 'ErrorDocument 503 http:// server-ip/maintenance.html'を追加することができます。これは動作しますが、ページはメンテナンスページに残ります。ユーザーは、tomcatが起動した後も、http://myapp.mydomain.com/にURLを指定する必要があります。 – user465465

+1

apache docs(http://httpd.apache.org/docs/2.0/mod/core.html#documentroot)から、DocumentRootを末尾にスラッシュなしで指定する必要があります。頑張って! – Raghuram

0

ApacheをTomcatコネクタで使用している場合は、単純にErrorDocumentディレクティブを追加するよりも少し複雑です。 /maintenance.htmlファイルのためにマウントされたコネクタ内を見ないようにApacheに明示的に指示する必要があります。むしろ代わりにそれをローカルに見る必要があります。

私はDocumentRootのは、 `は/ var/www /の代わりに` `の/ var/www`ある`は/ etc/apache2の/ /サイト対応の000-defaults`ファイルでは、この問題here