我正在尝试为 ISP(互联网分销商或学校或其他此类组织)创建互联网分发软件,就像这里
它将为用户提供限制和策略,以便根据其互联网连接套餐限制带宽/速度/持续时间等。此外,管理员应该能够监控他们的速度并阻止/允许用户和续订套餐。
架构如下:
非 https 客户端请求工作正常。但 https 请求却如预期那样给出了 SSL_ERROR。
我读Squid 无法在透明代理模式下处理 https 连接,但我不希望用户每次都在浏览器中设置代理。
有没有其他方法可以让我们计算用户使用的所有流量(包括加密流量)并相应地调整流量?
答案1
这不是 Squid 的限制,而是 HTTPS 协议本身的限制。如果您尝试设置透明的 HTTPS 代理,您总是需要打破加密通道 - 否则代理无法知道要加载哪个网站。所以你基本上在两者之间进行选择
- 在浏览器中设置 HTTP 代理(可以通过自动发现来完成顺便提一句)
- 通过终止 Squid 代理的加密通道来破坏 HTTPS 安全性 -BumpSSL服务器优先考虑到这一点。但要实现这一点,您的客户端需要信任 Squid 的 CA 来签署任何证书 - 它必须作为受信任的根 CA 安装在每一个客户。
由于在所有客户端上设置受信任的 CA 证书似乎比仅在浏览器设置中设置 HTTPS 代理更加费力,因此只有当您计划使用 ACL 中的解密数据或进行请求/响应主体检查时才有意义。