1つのパートナードメインは指定した上流プロキシを使い、他の許可されたリクエストは通常の親を使うとします。Squid 7 では、名前付きピアと cache_peer_access がそのポリシーを表します。

cache_peer partner-proxy.example parent 3128 0 no-query name=partner_parent
cache_peer general-proxy.example parent 3128 0 no-query name=general_parent

acl partner_domain dstdomain .partner.example

cache_peer_access partner_parent allow partner_domain
cache_peer_access partner_parent deny all

cache_peer_access general_parent deny partner_domain
cache_peer_access general_parent allow all

never_direct allow all

これは、既存のアクセス制御されたフォワードプロキシ向けのルーティング断片です。独立した公開宛先のテストで認証なしの公開親を使える場合は、親の資格情報を設定していないアドレスについて HTTP プロキシ一覧から候補を選びます。パートナーに必要な本番経路は別のアクセス取り決めのままです。名前の値は、各親にそのアクセスルール用の明確な識別子を与えます。

一致する宛先では partner_parent だけが有効なままです。他の宛先では general_parent だけが有効なままです。個々のピアについて最初に一致したルールが、そのピアが有効かどうかを決めます。

cache_peer_access は候補を絞り込みます。すべてのピアをフォールバックチェーンに並べるわけではありません。複数を有効なままにすると、Squid のピア選択アルゴリズムがその中から選びます。

never_direct 行は、この例で親の使用を必須にします。必要な親を使えない場合、直接接続は代替として提供されません。http_access の既存のクライアントと宛先の許可を維持してください。それらのルールが、上流の選択前にどのリクエストを受け入れるかを決めます。

この設定は文書化された Squid 7 のインターフェースを使います。リファレンスは cache_peer_access が Squid 8 では利用できないと記しているため、この設定を保守する際は対応する配備バージョンの文書を使ってください。

関連記事