普通CONNECT 隧道交给 Squid 的是加密字节,而非可缓存的网站响应。因此,大型 HTTPS 下载可以产生大量流量,却不新增可复用的对象缓存条目。

Squid 可以记录隧道目标、时长和字节数。但它不会以可存储、复用的普通 HTTP 报文形式,收到内部 URL 路径、缓存指令、表示内容及验证器。增加磁盘空间或提高对象大小限制,都无法让这些信息显现。

在断定缓存损坏前,应检查请求方法和隧道记录。以 CONNECT 为主的负载出现大量传输、很少对象复用是符合预期的。实际检查缓存时,使用自己控制、带明确缓存头且内容已知的 HTTP 资源;确认测试的是 Squid 对象处理路径,而非隧道、浏览器缓存或目标 CDN。

客户端到代理的 TLS 是另一层。Squid 终止自身监听端的 TLS 后,可以处理普通 HTTP 目标请求。如果该连接改为请求 CONNECT 到 HTTPS,目标的内层 TLS 仍然独立且不透明。

HTTPS 拦截会改变证书信任、授权和隐私要求。它并非常规缓存空间调整,普通正向代理运行也不需要拦截。

相关文章