自分のWebサーバーへのアクセス状況を把握するために、ちょっとしたシェルプロシジャをを CGI にして利用しています。
そのCGI の実行結果が、本日になって突然真っ白になる場面が発生しました。
今までよほどのサーバー負荷発生時でないとこんな事は起きていなかったのに、大した高負荷になっていない本日発生するとはどういう事?
Webサーバーのエラーログを覗いてみると次のような行がログに残っています。
[Fri Dec 02 15:15:23.042188 2016] [core:error] [pid 47271] (70007)The timeout specified has expired: [client 192.168.1.1:54910] AH00574: ap_content_length_filter: apr_bucket_read() failed [Fri Dec 02 15:24:19.851621 2016] [core:error] [pid 46137] (70007)The timeout specified has expired: [client 192.168.1.1:36150] AH00574: ap_content_length_filter: apr_bucket_read() failed [Fri Dec 02 18:40:57.710826 2016] [core:error] [pid 47269] (70007)The timeout specified has expired: [client 192.168.1.1:36365] AH00574: ap_content_length_filter: apr_bucket_read() failed
通信のタイムアウトが発生しています。
特にWebサーバーや設定はいじっていません。
そういえば数日前にパッケージの更新をかけましたが、その時に更新したのは全部 PHP関係のモジュールなので、シェルで書いている CGI には影響はないはず。不思議です。
エラーログをさかのぼってスキャンしてみると、タイムアウトは確かに今日以外にも発生している様子ですが、昨日までは殆ど発生してません。
他のPCを使ったり、別のブラウザーを使って試してみれば切り分けできるかもしれませんが、そういう作業をしている気分じゃないので、とりあえず次の3点を行い様子を見ることにしました。
- 間に入っている自宅内 Webプロキシーサーバーを再起動。
- Apache を再起動。
- Webブラウザーを再起動。
これで結果が変わらなければ、真面目に切り分けするしかなさそうです。