Squid配置问题:已允许站点仍被Bump而非执行Splice
问题根源及修正方案
你的配置核心错误是使用了dstdomain ACL来匹配SSL请求中的域名,而dstdomain默认基于目标IP的反向解析结果匹配。在Squid执行ssl_bump peek的阶段(仅读取SNI字段,尚未建立到后端服务器的连接),无法获取目标IP的反向解析,因此allowed_sites ACL无法匹配到www.youtube.com,导致规则跳过,最终执行了stare或bump操作。
修正步骤
1. 替换ACL类型为sni
将dstdomain改为sni ACL,sni是Squid专门用于匹配SSL握手时Server Name Indication(SNI)字段的规则,直接对应用户实际访问的域名,无需依赖IP解析。
修改后的ACL配置:
acl allowed_sites sni "/etc/squid/allowed_sites"
2. 保持正确的ssl_bump规则顺序
ssl_bump规则按顺序匹配,第一个匹配的规则生效,需确保优先级正确:
方案一(对应你最初的官方推荐配置)
acl allowed_sites sni "/etc/squid/allowed_sites" acl step1 at_step SslBump1 ssl_bump peek step1 ssl_bump splice allowed_sites ssl_bump stare all
方案二(对应你尝试的简化配置)
acl allowed_sites sni "/etc/squid/allowed_sites" ssl_bump splice allowed_sites ssl_bump peek all ssl_bump bump all
验证方法
修改配置后重启Squid,访问www.youtube.com,同时查看Squid日志(通常路径为/var/log/squid/cache.log),确认日志中出现allowed_sites匹配成功的记录,此时请求会执行splice而非bump。
内容的提问来源于stack exchange,提问作者Julionabi
相关产品推荐
相关产品推荐

