運営しているサービスのサイトで、切断されちゃうページがあることに気づいた。
どうも、URLの文字数が多いと切断されちゃうぽいが、スクリプトエラーはログに出ない。
が、今のサーバーにしてから稀に、
[crit] Memory allocation failed, aborting process.
[Tue Dec 30 11:02:44.758691 2014] [core:notice] [pid 30400:tid 140627435448192] AH00052: child pid 30702 exit signal Aborted (6)
てな感じの謎だがまずい感じのエラーが出てて原因もわからなかったんだが、
今回の症状を再現させる際にこのエラーが発生していることに気づいた!
ApacheのURL文字数制限は「LimitRequestLine」で設定できるが、未設定なのでデフォルトのまま。
一応デフォルトと同じ8190を設定してみたが変化なし。
スクリプトまでリクエストが届いてるか確認するためにスクリプトでログとってみたが、当該URLは記録されず。
スクリプトまで届かずに、Apache本体かモジュールでバグってるぽい。
なんとか治したいが、どんな時にエラーが出るのかはわかったからもうちょい調べてみるが、解決方見つからんのだよね・・・
Apache本体じゃなくてmod_fcgidとかモジュール絡みだとは思う。
mod_fcgi以外だと、AliasMatch使ってるからmod_aliasが怪しいかな?
AH00052のエラーが出るようになったのは、たぶん今のUbuntu 12.04に変えてからずっと。