4

私はApacheのドキュメントで見つけたすべてのものと、stackoverflowとブログで見つけた他の提案を試しました。/etc/apache2/apache2.confまたは/etc/apache2/conf.d/localized-error-pagesまたは/etc/apache2/httpd.confまたはのような構成ファイルに次の行を追加すると/etc/apache2/sites-enabled/000-default:

ErrorDocument 503 "This is an error msg"またはhtmlメッセージ ErrorDocument 503 "<h1> This is an error message </h1> または外部URLリダイレクトErrorDocument 503 http://www.google.comでも機能します。

しかし、次のような内部リダイレクトを試みると、ErrorDocument 503 /ERROR_503.html 最後ErrorDocument 503 /error/ERROR_503.htmlの行でデフォルトのメッセージが表示されます。

さらに、ErrorDocument を使用して要求を処理しようとしたときに、503 Service Temporarily Unavailable エラーが発生しました。

HTML エラー ページを DocumentRoot の に配置しようとしましvar/wwwvar/www/error/etc/apache2/conf.d/localized-error-pages国際化対応のカスタム ページにすべてのエラーを設定しているすべてのファイルのコメントを解除してみてください/usr/share/apache2/error。このファイル内のメッセージはデフォルトと同じなので、行は

さらに、ErrorDocument を使用して要求を処理しようとしたときに、503 Service Temporarily Unavailable エラーが発生しました。は表示されなくなりました。しかし、行を変更すると

`ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var`

localized-error-pages ファイルを同じページに配置された新しい html に変更すると、エラーが返され、ページが表示されません。ファイルを編集してHTTP_SERVICE_UNAVAILABLE.html.varも、ブラウザのメッセージは何も変わりません。

いくつかの詳細情報: ポート 80 のすべての要求をワーカー経由でポート 8089 の tomcat にリダイレクトするためだけに apache2 を使用しています。私の設定ファイルはhttps://dl.dropboxusercontent.com/u/1105054/apache.zipです

4

3 に答える 3

6

これには時間がかかりすぎました (スペルのせいもあります) が、役に立つかもしれないので、仮想ホスト ファイル全体を投稿しようと思いました。

ProxyPass /file.html !DocumentRoot を指定したことを確認し、 main の前に実行する必要がありますProxyPass /

<VirtualHost *:443>
    DocumentRoot /var/www/html
    #ProxyPreserveHost On

    <IfModule env_module>
         # Fake SSL if Loadbalancer does SSL-Offload 
         SetEnvIf Front-End-Https "^on$" HTTPS=on
    </IfModule>

    SSLEngine on
    SSLCertificateFile file
    SSLCertificateKeyFile file
    SSLCertificateChainFile file

    ProxyPass /maintenance-message.html !
    ProxyPass /maintance-message_files !
    ProxyPass / "ajp://localhost:8009/"
    ProxyPassReverse / "ajp://localhost:8009/"
    ServerName server.something.com:443
    ErrorDocument 503 /maintenance-message.html
</VirtualHost>
于 2016-03-31T18:58:38.777 に答える
4

私の場合、このProxyPass行を仮想サーバー構成に追加しました。

ProxyPass /serverError.html !
ErrorDocument 503 /serverError.html

これにより、プロキシは DocumentRoot に移動してエラー ページを検索するように指示されます。

また、この回答が役立つ場合があります: https://stackoverflow.com/a/13019667

于 2015-01-06T16:27:58.567 に答える