Squid3 代理服务器 ssl-bump 阻止 Web 套接字连接

Squid3 代理服务器 ssl-bump 阻止 Web 套接字连接

我刚刚在配置了 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 SslBump1ssl_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 上使用它。

相关内容