このエントリーをはてなブックマークに追加

Apache + Tomcat でエラーログが出る

Apache + Tomcat を使っていると、ErrorLog に、次のログがでることがたまにあります。

[Thu Sep 16 21:05:17 2010] [error] [client x.x.x.x] proxy: error processing end, referer: http://example.jp

このエラーログをなんとかしようと、Apache のバグデータベースをみてみたところ、同じ内容が報告されていました。

Bug 46415 – Error “proxy: error processing end, referer…” should be debug not error

この報告によると「mod_proxy が応答を送信する前にクライアント側のコネクションが閉じられてしまうとき発生するのでエラーではなくデバッグレベルでログを出すべきだ」となります。

そして、エラーログのレベルをデバッグレベルに下げる変更が、2010年8月にコミットされています。

--- httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c	2010/08/06 17:04:40	983056
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c	2010/08/18 08:31:36	986591
@@ -471,7 +471,7 @@ static int ap_proxy_ajp_request(apr_pool
                     }
                     if (ap_pass_brigade(r->output_filters,
                                         output_brigade) != APR_SUCCESS) {
-                        ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
+                        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
                                       "proxy: error processing body.%s",
                                       r->connection->aborted ?
                                       " Client aborted connection." : "");
@@ -489,7 +489,7 @@ static int ap_proxy_ajp_request(apr_pool
                 APR_BRIGADE_INSERT_TAIL(output_brigade, e);
                 if (ap_pass_brigade(r->output_filters,
                                     output_brigade) != APR_SUCCESS) {
-                    ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
+                    ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
                                   "proxy: error processing end");
                     output_failed = 1;
                 }

ということで、このパッチを自分が本番環境で使っている Apache にあててみました。

これでしばらく様子を見たいと思います。

2 Comments

  • 天野

    Wednesday, 11/12/2014

    その結果、エラーはでなくなったでしょうか?

  • naoya

    Thursday, 11/13/2014

    はい、出なくなりましたよ!

Comments are closed.