如何在鱿鱼中将某些 URL 传递给父代理?

如何在鱿鱼中将某些 URL 传递给父代理?

我想通过鱿鱼中的上行链路代理检索某些站点或域。我想要一份此类网站的列表。怎么做?

我看到指令always_direct,但我需要相反的:直接传递所有请求,但只传递其中的一些请求——传递给对等点。

这可能吗?

答案1

您可以使用cache_peerconfig 选项来定义对等点或父级,并用于cache_peer_access强制所有与特定鱿鱼匹配的请求acl使用该对等点。

例如:

cache_peer squid2.example.com sibling 3128 3130
acl alwayspeer dstdomain foo.example.com bar.example.com
cache_peer_access squid2.example.com allow alwayspeer

这将强制对这两个域 (foo.example.combar.example.com) 的所有请求都通过对等点 ( ) 进行squid2.example.com

注意:alwayspeer这只是我为此选择的任意名称acl

如果您还想限制该对等点的使用仅有的在alwayspeer acl中列出的域,添加以下行:

cache_peer_access squid2.example.com deny !alwayspeer

任何鱿鱼acl类型都可以使用,而不仅仅是dstdomain。例如url_regexurlpath_regex(或dstdom_regex) 如果您希望 acl 正则表达式匹配 URL(或域)的部分或全部。

最后,acl可以通过规则允许或拒绝多个 s cache_peer_access。请注意,规则的顺序很重要(第一个匹配的规则获胜)。

相关内容