Squid の 403 応答: 新たな拒否か、キャッシュされたエラーか
Squid のキャッシュ存続時間ポリシーを変更する前に、新たなアクセス拒否とキャッシュされた否定応答を区別します。
同じ 403 ページを 2 回見ても、キャッシュヒットの証拠にはなりません。トランザクションのアクセス記録と応答ヘッダーを次の 2 つの問いと照合します。拒否を生成したのは誰か、保存された応答が再利用されたか。
- ローカルで拒否されたリクエストは、アクセスルールまたは ID の判定を修正する必要があります。
- オリジンからの新たな拒否は、オリジンが依然としてリクエストを拒否していることを意味します。
- 再利用されたオリジン応答は、その鮮度ポリシーと該当するキャッシュ設定を調べる必要があります。
HTTP キャッシュは一定の条件のもとで否定応答の一部を含みますが、403 は既定でヒューリスティックな鮮度を取得しません。他の点でキャッシュ可能な拒否には、明示的な共有キャッシュの存続時間が付くことがあります。オリジンで権限を変更しても、依然として新しいと見なされる応答は消えません。保存すべきでない判定には適切な応答ポリシーを使用してください。
Squid の negative_ttl は、有効期限が不明な一部の失敗リクエストに対する別個のフォールバックです。現在のディレクティブ参照が対象とするバージョンでは、文書化された既定値はゼロです。これは明示的な HTTP 指示によって新しくされたエラー応答を禁じるものではありません。
参照はまた、HTTP 違反を許可するビルドを要求し、Squid 8 を除外します。サポートを確認せずに Squid 2.7 の存続時間の提案を他のリリースへ移さないでください。オブジェクトを削除すると即時の症状は消えることがありますが、再利用可能にしているポリシーが次のリクエストを決めます。