2010-11-21 21 views
2

私はTomcat 6.0.18上で動作しているWebアプリケーションで作業しており、Apache 2をリバースプロキシとして使用しています。これは正常に動作します。私はまた、たとえば、再配置などのためにTomcatをシャットダウンしたときに、Apacheにエラーページを表示させようとしています。しかし、httpd.confのErrorDocumentディレクティブは、ローカルファイルに対してまったく動作していないようです。私は外部のURLと文字列を試して、これらの両方の場合は正常に動作します。しかし、以下は動作しません。ErrorDocumentがローカルファイルと連携していません

ErrorDocument 403 /Oops.html 
ErrorDocument 404 /Oops.html 
ErrorDocument 502 /Oops.html 
ErrorDocument 503 /Oops.html 

Oops.htmlファイルは私のhtdocsフォルダにあります。私は.htaccessファイルを使用していないよ

==> access_log <== 
localhost - - [21/Nov/2010:12:23:36 -0800] "GET /home HTTP/1.1" 503 - 

==> error_log <== 
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy_http.c(54): proxy: HTTP: canonicalising URL //localhost:8080/home 
[Sun Nov 21 12:23:36 2010] [debug] proxy_util.c(1412): [client ::1] proxy: http: found worker http://localhost:8080/ for http://localhost:8080/home 
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy.c(819): Running scheme http handler (attempt 0) 
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy_http.c(1693): proxy: HTTP: serving URL http://localhost:8080/home 
[Sun Nov 21 12:23:36 2010] [debug] proxy_util.c(1790): proxy: HTTP: retrying the worker for (localhost) 
[Sun Nov 21 12:23:36 2010] [error] proxy: HTTP: disabled connection for (localhost) 
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy_http.c(54): proxy: HTTP: canonicalising URL //localhost:8080/Oops.html 
[Sun Nov 21 12:23:36 2010] [debug] proxy_util.c(1412): [client ::1] proxy: http: found worker http://localhost:8080/ for http://localhost:8080/Oops.html 
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy.c(819): Running scheme http handler (attempt 0) 
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy_http.c(1693): proxy: HTTP: serving URL http://localhost:8080/Oops.html 
[Sun Nov 21 12:23:36 2010] [debug] proxy_util.c(1790): proxy: HTTP: retrying the worker for (localhost) 
[Sun Nov 21 12:23:36 2010] [error] proxy: HTTP: disabled connection for (localhost) 

注:ここではTomcatが実行されていないが、HTTPDがあるとき、私はアプリにアクセスしてみてくださいhttpdのからいくつかのログ出力があります。 htdocsフォルダに関する設定に問題があるようです。以下は、私のhttpd.confファイルのhtdocsフォルダーと関係があるビットです。私はApacheに取り組んでいないので、これがどれほど関連性があるのか​​、もっと投稿する必要があるのか​​分かりません。

<Directory "/usr/local/apache2/htdocs"> 
    Options Indexes FollowSymLinks 
    AllowOverride None 
    Order allow,deny 
    Allow from all  
</Directory> 

ご迷惑をおかけして申し訳ありません。

EDIT:

Tomcatは、私がエラーログにこれらの行を参照して実行されています

[Sun Nov 21 13:30:11 2010] [error] [client ::1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. 
[Sun Nov 21 13:30:11 2010] [debug] core.c(3046): [client ::1] r->uri = /Oops.html 
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html 
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html 
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html 
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html 
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html 
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html 
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html 
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html 
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html 
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri =/

何かが正しく設定されますが、私は私何かどこを持っていないされていません。これまでの回答に感謝しますが、それでも困っています。

+0

あなたは多分、さらに木アップや構成のディレクトリに、線に沿ってどこかRewriteRulesを持っていますか? ....第2の考えでは、これは404文書を見つけられず、404文書などを見つけられないので再帰である可能性があります。 –

+0

checkは 'DocumentRoot' +'/Ops.html' = '/ usr/local/apache2/htdocs/Ops.html'?あなたがさまざまなDocumentRootを使用していると思っています – ajreal

+0

@ajreal:すべてのプロキシを無効にして、エラードキュメントディレクティブを削除して再起動しました。 DocumentRootとして設定したディレクトリのいくつかの他のページにアクセスできたので、正しく設定されているようです。 – richever

答えて

0

中央設定で指定された場合、Apacheはパスを絶対パスとして扱い、ルートディレクトリのOops.htmlを探します。完全なパスを使用してみてください:

ErrorDocument 403 /usr/local/apache2/htdocs/Oops.html 

代わりに、私はあなたがVirtualHostセクションにそれを置けば、それは比較的に動作しますね。

ErrorDocument docs

+0

私はすでにあなたの提案したものも組み合わせてみましたが、私はまだ何も得ていません。しかし、ありがとう。 – richever

+0

@richever strange。 Webサーバーにファイルを読み取る権限があることを確認してください。 –

+0

私はそのディレクトリ内の他のファイルを試してみましたが、アクセス可能であるが何もないようにchmodしました。私は誤った構成に向いているエラーログの疑わしい行について言及するために投稿を編集します。 – richever

1

AllowOverrideのはNoneにはならない

+0

これは設定に既に設定されていますか? –

関連する問題