最好的方式绕过Squid为某些网站?

我们有一个鱿鱼透明代理运行,这是伟大的,真棒我敢说。 问题是当一些非常随机的网站似乎讨厌鱿鱼。 Cox.com是一个特别的。 现在我们只需要设置一个IPtables规则来转发请求到这个IP,而不是把它发送到鱿鱼caching。

拥有一个我们可以在squid中设置的“坏”站点的ACL是非常棒的,因此如果客户端要求其中一个站点,它可以让他们直接访问它,完全避免使用squid代理。 那可能吗? 还是iptables是最好的解决scheme?

如果你想避免完全鱿鱼,增加例外透明代理iptablesredirect规则是方式。

但是,您可以在鱿鱼中为always_direct指令创build一个acl。 从鱿鱼文档 :

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

它在所有情况下都不起作用,有时只是完全避免代理才会这样做。

编辑:如果你使用类似shorewall的东西,你可以创build列表 ,使redirect规则的例外更容易pipe理,但它可能太矫枉过正。

我不认为always_directconfiguration指令是合适的select – 它只是指定不联系父或对等caching,不影响网站本身是否会被caching。

看看鱿鱼常见问题: 如何configuration鱿鱼不caching特定的服务器? ,关于caching指令和ACL

在squid.conf中使用“caching”标签

/etc/squid/acl-dstdomain-localnetsites.cfg

  #squid ACL:localnetsites
 #ACLtypes:dstdomain
 #ACL信息:本地networking中的目标站点列表(内部networking中的公司站点)
 #
 .sub.local1.com
 .sub2.local2.com
 .local3.com 

/etc/squid/squid.conf中

  ...
 ###所有本地站点的ACL
 #
 acl localnetsites dstdomain“/etc/squid/acl-dstdomain-localnetsites.cfg”
 ...
 ###访问规则 - 从不caching本地网站
 #
caching拒绝本地网站 

在工作中,我们使用很多不同的代理,关于stream量(应用程序)和您的位置。

而不是做每个代理configuration,它是用户的networking浏览器,通过自动代理configuration脚本的帮助来做所有的工作来find正确的代理。

它工作得很好,但是你可能会被迫审查你的透明redirect来实现它。