OSSよろずサポート担当の神﨑です。
お問い合わせとしてよく来るエラーメッセージについて解説していこうと思います。
今回は、AH02608、AH10154、AH01095
AH02608: read request body failed
このエラーは何のエラー?
クライアントからのリクエストボディの読み取りに失敗した旨のメッセージです。リクエストボディの送信が途中で中断してしまった場合や、ネットワークに問題があった場合などに出力されます。
AH2609 と何が違うの?
同じエラーメッセージが出力されるエラーとして AH2609 があります。
AH2609 は Content-Length ヘッダー (事前にリクエストボディのサイズが指定される)で送信される際に、事前に指定されたサイズと違う場合や通信の切断が発生した場合に出力されます。
AH2608 はリクエストボディの形式がチャンクエンコーディング (事前にリクエストボディのサイズの指定がない)の場合のエラーです。
AH10154: pass request body failed
このエラーは何のエラー?
バックエンドへのリクエストボディ送信が失敗した旨のメッセージです。AH02608 の事象によりリクエストボディが正しく読み取れず、バックエンドへ送信できなかった可能性があります。
AH01095: prefetch request body failed
このエラーは何のエラー?
クライアントからのリクエストボディの事前取得に失敗してしまった旨のメッセージです。AH02608 の事象によりリクエストボディが正しく読み取れず、事前取得できなかった可能性があります。
3つのエラーはどう違うのか?
どれもリクエストボディの処理が失敗しているメッセージとなりますが、読み取り、事前取得、送信と出力される処理のフェーズに違いがあります。
どう対策すればいいの?
ネットワークの設定や、Timeout ディレクティブを見直したり、リクエストをクライアント側が強制終了しなかったかなどを確認する。
Timeout ディレクティブは以下の値を目安に変更する。
クライアント側のリクエスト全体を受信する時間>Timeout ディレクティブ
参考
AH02608、AH10154 については以下もご確認ください
httpd mod_proxy logs ‘Partial results are valid but processing is incomplete’ error – Red Hat Customer Portal
※Red Hat社の有料ポータルログインIDが必要です。
AH02609 については以下もご確認ください。
Getting error “AH02609: read request body failed” in Apache HTTPD mod_proxy – Red Hat Customer Portal
※Red Hat社の有料ポータルログインIDが必要です。
AH1095 については以下もご確認ください。
Intermitent timeout errors in Apache HTTPD during request body prefetch
※Red Hat社の有料ポータルログインIDが必要です。