Squid cache_peer: 転送先の親を originserver として扱わない
Squid の次のホップがリソースを提供する Web サイトではなく通常のフォワードプロキシである場合、オリジンサーバーという前提を取り除きます。
cache_peer の行は親を指定しつつ、Squid にその親をあたかもオリジンの Web サイトであるかのように扱わせることができます。
その原因となるスイッチが originserver です。Squid はこれを、ピアが Web サーバーであるアクセラレーター構成向けに文書化しています。「元のリクエストをこの親経由で送る」という汎用フラグではありません。
次のホップが通常の HTTP フォワードプロキシなら、そのフラグがそこに属するのかを確認してください。基本的な親の宣言はむしろ次の形です。
cache_peer parent.example parent 8080 0 no-query name=upstream親は自前のサービスでもかまいません。親プロキシの資格情報を設定していない許可された公開親のテストでは、HTTP プロキシ一覧から HTTP の候補を選びます。想定したクライアント認可、ピアの適格性、認証、直接フォールバックの方針は維持してください。この抜粋はピアの役割を特定するだけです。
proxy-only は originserver の隣にコピーされることがありますが、そのピアから取得したオブジェクトの保存に関わるものです。両方のフラグを同時に外しても、両方がプロトコル障害の原因だったとは証明できません。
次のサービスが何を期待しているかを見てください。Web サイトへのリクエストか、フォワードプロキシへのリクエストか、トンネル確立のやり取りかです。有効なホスト名と到達可能なポートがあっても、それらの契約が互換になるわけではありません。ピアの役割を直すほうが、リクエストの意味論が誤っていた接続で TLS 証明書を何度も交換するより的確です。