複数の Squid 親プロキシは選択肢であり、直列チェーンではない
peer リストは Squid に選択肢を与えます。A → B → C の直列ルートでは、各転送インスタンスが次のホップを選ぶ必要があります。
2 行の cache_peer は「まず最初のプロキシを通り、次に 2 番目を通る」という意味ではありません。Squid が選択できる peer を定義するものです。ラウンドロビンのリクエストは、両方を経由せずに親プロキシ間を交互に切り替えられます。
直列ルートは各インスタンスに分散されます。
client → A → B → C → origin
- A は次のホップとして B を選択します。
- B は C を選択します。
- C はオリジンへの接続を開きます。
各受信側は、直接の下流 peer を承認する必要があります。各インスタンスは、次のホップを飛ばすことが禁止されている場合、互換性のある直接アクセス ポリシーも必要です。
これらをサポートするバージョンでは、cache_peer が peer を定義し、cache_peer_access が選択を制限し、never_direct が選択したトラフィックの直接転送を禁止します。peer の定義だけでは、他の 2 つのポリシーのどちらも確立されません。
各ホップで判断を確認してください。A が B を選択したというログは、B が C を選択したことを証明できません。ローカル キャッシュ ヒットは新しい上流接続を完全に回避できるため、1 つのリクエストで親トラフィックがないことは、チェーンが壊れている十分な証拠にはなりません。