mod_ext_filterが1024バイトまでのファイルしか処理してくれないっぽい

mod_ext_filter便利だぜ―
なんて思っていたら、1024バイトまでのファイルしか処理してくれないっぽい。

sedで文字列の置き換えをやろうと思っていたらうまくできなくて、intypeがまずいのかとか、いくつかのテスト用のファイルを使って検証してみると、もしかしたら1024バイトまでのファイルしか処理していないっぽい。

Apacheのディレクティブに適当に

ExtFilterDefine exttest mode=output \
    cmd="/bin/sed -e s/hoge/fuga/g"
<Location />
   SetOutputFilter exttest
</Location>

とか書いてみてもうまく置き換えてくれない。
試しにシンプルなファイルをテキトーに作ってアクセスしてみるとうまくいく。

「あれー、sedの書き方が悪いのかな―」
とか、思ってコマンドラインからsedしてみると上手く置き換わってくれている。

$ sudo sed -e "s/hoge/fuga/g"

で、原因を探るために少しずつファイルに書かれているものを削除してシンプルにしていこうとしたら、あるところで置き換えてくれるようになる。

でも、なんでこれを削除しただけでなるのかわからなかったので、違うところに関係ない文字列を追加してみると、やっぱり置き換わってくれない。

それもちょこっとずつ削っていったらやっぱりあるところで、置き換えてくれる。

一文字増やしたり減らしたりしているうちに、

「あれ?文字数?バイト数?」とか思い始めてファイルサイズを見てみると、1023だと処理してくれるのに、1024になったとたん処理してくれなくなった。

なんだこの使えなさ感は!

今使っている環境がちょっと特殊なのでそのせいかもしれないけどこれだとイマイチ使えない。

と、思ったらリバースプロキシでnginxが動いているのでそのせいっぽい。
apacheのポート番号つけてアクセスするとちゃんとmod_extfilterちゃんが動いてくれている。