CONNECT の通信量が Squid のオブジェクトキャッシュを埋めない理由
通常の HTTPS トンネルが大量のバイトを転送しても、フォワードプロキシに再利用可能な HTTP 応答オブジェクトを渡さない理由を説明します。
通常の CONNECT トンネルが Squid に渡すのは暗号化されたバイト列であり、キャッシュ可能な Web サイトの応答ではありません。そのため、大きな HTTPS ダウンロードでは通信量が大幅に増えても、オブジェクトキャッシュに再利用可能なエントリがまったく追加されないことがあります。
Squid はトンネルの接続先、継続時間、バイト数を記録できます。しかし、内部の URL パス、キャッシュ指示、表現、検証子を、保存して再利用できる通常の HTTP メッセージとして受け取るわけではありません。ディスク容量やオブジェクトサイズの上限を増やしても、それらが見えるようにはなりません。
キャッシュが壊れていると判断する前に、リクエストメソッドとトンネルの記録を確認してください。CONNECT が中心の負荷では、転送量が多くてもオブジェクトの再利用が少ないことに矛盾はありません。キャッシュを実際に確認するには、自分で管理し、明示的なキャッシュヘッダーと既知の内容を持つ HTTP リソースを使います。トンネル、ブラウザーのキャッシュ、接続先の CDN ではなく、Squid のオブジェクト処理経路をテストしていることを確認してください。
プロキシまでの TLS は別の層です。Squid は自身のリスナーで TLS 接続を終端した後、HTTP の接続先に対する通常のリクエストを処理できます。その接続で代わりに HTTPS への CONNECT が要求された場合、内部にある接続先との TLS は別個のままで、内容は見えません。
HTTPS のインターセプトは、証明書への信頼、承認、プライバシーの要件を変えます。通常のキャッシュ容量調整とは異なり、一般的なフォワードプロキシの動作にインターセプトは不要です。