绕过某些网站 Squid 的最佳方法是什么?

绕过某些网站 Squid 的最佳方法是什么?

我们正在运行 Squid 透明代理,它很棒,我敢说它棒极了。问题是,有些非常随机的网站似乎讨厌 Squid。Cox.com 就是其中之一。现在我们只需设置一个 IPtables 规则,将请求转发到该 IP,而不是将其发送到 Squid 缓存。

如果我们能在 squid 中设置一个“不良”网站的 ACL,这样当客户端请求访问这些网站之一时,它就会允许他们直接访问该网站,从而完全避免使用 squid 代理,那就太棒了。这可能吗?或者 iptables 是最好的解决方案?

答案1

如果你想完全避免 squid,那么在透明代理 iptables 重定向规则中添加例外是一种方法。

不过,你可以在 squid 中为该always_direct指令创建一个 acl。从鱿鱼文档

acl local-servers dstdomain my.domain.net
always_direct allow local-servers

它并非在所有情况下都有效,有时只需完全避免使用代理即可。

编辑:如果你使用类似的东西岸墙您可以创建列表这使得重定向规则的例外更易于管理,但可能有点过度了。

答案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 浏览器通过以下方式找到正确的代理:自动代理配置脚本的帮助。

它运行得很好,然而你可能被迫检查你的透明重定向才能实现它。

相关内容