Joh*_*ohn 5 proxy squid blocking
所以我的目标是只阻止某些 YouTube 频道。
如果我做:
acl block_youtube dstdomain .youtube.com
http_access deny block_youtube
Run Code Online (Sandbox Code Playgroud)
它会阻止对 youtube 的任何访问。
如果我做:
acl block_youtube url_regex -i ^https://www.youtube.com/watch\?v=v2AC41dglnM
http_access deny block_youtube
Run Code Online (Sandbox Code Playgroud)
它不会阻止该特定页面,即使我在 access_log 中看到这一点。
475862685.876 0 100.100.100.100 TAG_NONE/200 0 CONNECT www.youtube.com:443 - HIER_NONE/- -
1475862686.359 412 100.100.100.100 TCP_MISS/200 51182 GET https://www.youtube.com/watch\?v=v2AC41dglnM - HIER_DIRECT/216.58.192.238 application/json
Run Code Online (Sandbox Code Playgroud)
有人知道如何解决这个问题吗?
由于您尝试阻止的 YouTube 采用 HTTPS,因此您遇到了问题。代理不会解封装 HTTPS 来了解 URL 和内容,因此它可以断开连接。要解决你的问题,你必须看看Squid的SSL Bump解决方案。由于许可证问题,它默认未启用,但您可以轻松地重新编译该包。该解决方案的问题是客户端必须知道代理中使用的证书颁发机构,并且该颁发机构是本地的并允许为所有 https 站点创建证书。所以你需要在所有PC上部署权限。
http://wiki.squid-cache.org/Features/SslBump