squid 可以缓存 https 请求吗?

squid 可以缓存 https 请求吗?

正如在“squid 可以缓存来自 HTTPS 站点的对象吗?“,要缓存来自https站点的对象,就需要使用 SSL 增强功能。

但是,我可以设置https代理,甚至httpSSL 碰撞功能也是不是安装。这是否意味着设置 https 代理仅意味着它只能让内容通过而不进行缓存?

  • 那么,如果没有 SSL 提升功能,到底会发生什么情况呢?
  • 是什么阻止它缓存文件https://some.sites/some/path/image.png那么下次有人请求它时,它可以从缓存中提供吗?

答案1

除非代理拦截 HTTPS 流量(即SSL 碰撞) 从而可以访问解密内容,但它无法缓存流量。当只是一个非拦截 HTTPS 代理时,每当客户端发出 CONNECT 请求时,Squid 就会建立一个到最终服务器的隧道,并将所有流量原封不动地转发。即使客户端再次访问相同的资源,代理也不会意识到这一点,因为流量的加密方式不同,即加密密钥和初始化向量不同。同样,不可能用缓存(加密)响应进行回复,因为客户端和最终服务器之间使用的加密密钥与上次访问此资源时使用的加密密钥不同。

相关内容