Chrome 94.0.4606.61更新后Squid HTTPS代理无法正常工作求助
问题根因
该问题完全由Chrome 94版本的安全策略更新触发,和你现有稳定运行的Squid基础配置逻辑无关,对应报错的两个核心触发点:
- Chrome 94及以上版本默认拒绝使用TLS 1.2以下版本和代理建立HTTPS连接,你现有配置中
https_port未限制最低TLS版本,Squid默认会兼容TLS 1.0/1.1等旧协议,导致Chrome直接在TLS握手阶段断开连接,对应你日志中SSL协商失败、事务在接收头前结束的报错。 - 你当前使用的代理证书不符合Chrome 94的新安全要求:旧版自签证书多只填CN字段、有效期超过398天、密钥长度不足2048位,都会被Chrome直接拦截。
修复步骤
- 修改Squid配置中的
https_port配置项,增加TLS版本和加密套件限制,修改后内容为:
https_port 843 cert=cert.pem key=privkey.pem tls-min-version=1.2 options=NO_SSLv3,NO_TLSv1,NO_TLSv1_1 ciphers=HIGH:!aNULL:!MD5
- 重新生成符合安全要求的代理证书,需满足三个条件:
- RSA密钥长度≥2048位
- 证书有效期≤398天
- 证书必须包含SAN(主题备用名称)字段,字段值为你访问代理时使用的IP地址或域名
- 将新生成的根证书重新导入Chrome的「受信任的根证书颁发机构」存储区
- 重启Squid服务和Chrome浏览器即可恢复正常使用
临时替代方案(不推荐长期使用)
如果暂时无法调整证书和Squid配置,可在Chrome地址栏访问chrome://flags/#legacy-tls-enforced,将该选项设置为Disabled后重启Chrome,即可临时绕过TLS版本限制恢复使用,但该操作会降低浏览器安全性。
注:如果你的Squid版本低于4.15,建议先升级到4.15或5.x以上版本,旧版本Squid对高版本TLS协议的支持存在已知bug,也会触发该类报错。
内容的提问来源于stack exchange,提问作者唐大哥
相关产品推荐
相关产品推荐

