我正在使用 Squid Proxy 3.1 作为透明代理服务器,我想阻止 facebook.com,但尽管在阻止列表中列出,但有些用户使用 https 访问 facebook,我怎样才能仅阻止 facebook 的 https
答案1
我认为你可以使用以下查询获取最新的 Facebook IP 地址列表
whois -h whois.radb.net '!gAS32934'
当前列表比您上面评论中的列表要长一些。解析该查询的输出并将其加载到防火墙中应该相当容易。
答案2
如果您决定使用显式代理方式,请务必使用 Squid 设置 ICAP 网络过滤和(可能)HTTPS/SSL 缓冲。在这种情况下,SquidGuard 将能够过滤实际的 HTTPS 网址。如果无法执行 HTTPS 过滤 - 请使用 qlproxy 仅在需要时阻止对 facebook.com 域名的 CONNECT:443 请求的访问。
答案3
在 squid.conf 中尝试这个:
acl blockfb dstdomain -i ".facebook.com"
http_access deny blockfb
由于初始 CONNECT 请求仍然以 HTTP 形式传输,因此它应该能够捕获并阻止它。