[mod_perl] Software caused connection abort atエラー

超メモ。

mod_perlで遭遇してる。

ソケット関連の問題っぽいが、詳細を追いかけるのを断念した。
で、動きとして、Content-Lengthの値を実際より小さくしたら発生することを確認した。
小さい応答では発生してない。
なおしたら、発生しなくなった。

高負荷などのネットワーク関連の可能性もあるのだけれど、この辺も見直すと解決できるかもしれない。

 http://perl.apache.org/docs/general/correct_headers/correct_headers.html#Content_Length

 Content-Lengthの設定方法は以下の通り。
  $r->header_out('Content-Length' => $length);


補記


たとえば、3MBのファイルを転送する際に、Content-Lengthを200バイトにする。
このとき、WireSharkでパケットキャプチャしていると、continuation or non-http trafficという扱い、つまりhttpのパケットとして識別されない状態になる。
んで、破棄されるので、Software caused connection abort atのエラーが発生するような感じだ。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック