Squid が「大きすぎる」と言う: ヘッダーかボディか
フォワードプロキシが転送を大きすぎるとして拒否したときは、リクエストとレスポンスのヘッダー上限とボディ上限を切り分けます。
小さいダウンロードがヘッダー上限を超える一方、より大きいボディは成功することがあります。まず Squid がやり取りのどの部分を拒否したかを特定します。
| 構成要素 | 対応する Squid 5–7 のディレクティブ |
|---|---|
| リクエスト行を含むクライアントのリクエストヘッダー | request_header_max_size |
| アップロードデータなどのクライアントのリクエストボディ | request_body_max_size |
| サーバーのレスポンスヘッダー | reply_header_max_size |
| サーバーのレスポンスボディ | reply_body_max_size |
実際のプロキシエラーとログを使って、構成要素とレスポンスの発行元を特定します。アプリケーション側の上限や上流での拒否は、ローカルの Squid 障害と似て見えることがあります。導入済みリリースのリファレンスで、対応するしきい値と既定値を確認してください。
Squid が何を見られるかも確認します。通常の CONNECT では、エンドツーエンドの TLS トンネル内にある暗号化されたウェブサイトのヘッダーは公開されません。そのため、平文のプロキシリクエスト、CONNECT のやり取り自体、傍受された TLS では、異なる制御や構成要素が関与する可能性があります。
該当する上限を引き上げる前に、異常なサイズの理由を説明します。繰り返しの Cookie、想定外の認証データ、不正なレスポンスは調査が必要です。意図的にサポートしている大きなアップロードなら、適切なボディしきい値が必要です。すべての上限をまとめて引き上げると、この区別が隠れます。