我们正在运行 Squid 透明代理,它很棒,我敢说它棒极了。问题是,有些非常随机的网站似乎讨厌 Squid。Cox.com 就是其中之一。现在我们只需设置一个 IPtables 规则,将请求转发到该 IP,而不是将其发送到 Squid 缓存。
如果我们能在 squid 中设置一个“不良”网站的 ACL,这样当客户端请求访问这些网站之一时,它就会允许他们直接访问该网站,从而完全避免使用 squid 代理,那就太棒了。这可能吗?或者 iptables 是最好的解决方案?
答案1
答案2
我不认为总是直接配置指令将是合适的选择 - 它只是指定不联系父级或对等缓存,不会影响网站本身是否会被缓存。
查看 Squid 常见问题解答:如何配置 Squid 不缓存特定服务器?,关于缓存指令和 ACL
答案3
在 squid.conf 中使用“cache”标签
/etc/squid/acl-dstdomain-localnetsites.cfg
# Squid ACL:本地网络站点 # ACL 类型:dstdomain # ACL 信息:本地网络中的目标站点列表(内部网络中的公司站点) # .sub.local1.com .sub2.local2.com .local3.com
/etc/squid/squid.conf
... ### 所有本地站点的 ACL # acl 本地网络站点 dstdomain “/etc/squid/acl-dstdomain-localnetsites.cfg” ... ### 访问规则 - 绝不缓存本地网站 # 缓存拒绝 localnetsites
答案4
在工作中,我们使用许多不同的代理,涉及流程(什么应用程序)和您的位置。
用户无需对每个代理进行配置,而是由用户的 Web 浏览器通过以下方式找到正确的代理:自动代理配置脚本的帮助。
它运行得很好,然而你可能被迫检查你的透明重定向才能实现它。