我刚刚在配置了 SSL-bump 的 Ubuntu 16.04.2 LTS 上设置了 Squid Server 3.5.26。HTTP 和 HTTPS 运行正常,但任何需要 Web Sockets 的 Web 服务都会失败,例如速度测试。
我已将以下几行添加到我的 squid 配置中,以尝试强制直接连接并防止 Web 套接字连接的 SSL 缓存。
#Temporarily allow all connections for debugging
http_access allow all
acl bump-bypass dstdomain 192.168.0.245 .speedtest.net
# URL's contains ws (most web socket urls do)
acl ssl-web-sockets SSL::server_name_regex \/ws
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump splice bump-bypass ssl-web-sockets tcp-web-sockets
#I Read that there was a bug in bump that required !explicity
#for splice to work for web sockets
ssl_bump bump !ssl-web-sockets all
#just bump all doesn't work either
#ssl_bump bump all
如果我禁用 ssl_bump 并且不解密加密流量,一切都会正常工作。
如何配置 squid 以允许直接 Web 套接字连接?
更新
更新至 Squid Server 4.0.21 并添加到配置中
on_unsupported_protocol tunnel all
文档说这应该允许 TCP 隧道连接
遗憾的是,这也没有解决问题,仍然收到 Web 套接字错误
Connection closed before receiving a handshake response
答案1
这不是一个acl
在你的squid.conf
?
我认为你必须
acl step1 at_step SslBump1
写
ssl_bump step1 at_step SslBump1
问候,约瑟夫
答案2
幸运的是,在我的配置中,speedtes.net 工作正常。我的配置如下:
acl 步骤1 at_step SslBump1 acl 步骤2 at_step SslBump2 acl step3 at_step SslBump3 ssl_bump peek 步骤1 全部 ssl_bump peek 步骤2 全部 ssl_bump 全部碰撞
现在,step3
acl
是不必要的,但是在这个配置中不是“白名单”(不是被碰撞的 url 的列表)。
我认为,这并没有什么太大的区别,但我在 Debian 8.7 上使用它。