我想通过鱿鱼中的上行链路代理检索某些站点或域。我想要一份此类网站的列表。怎么做?
我看到指令always_direct
,但我需要相反的:直接传递所有请求,但只传递其中的一些请求——传递给对等点。
这可能吗?
答案1
您可以使用cache_peer
config 选项来定义对等点或父级,并用于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.com
和bar.example.com
) 的所有请求都通过对等点 ( ) 进行squid2.example.com
。
注意:alwayspeer
这只是我为此选择的任意名称acl
。
如果您还想限制该对等点的使用仅有的在alwayspeer acl中列出的域,添加以下行:
cache_peer_access squid2.example.com deny !alwayspeer
任何鱿鱼acl
类型都可以使用,而不仅仅是dstdomain
。例如url_regex
或urlpath_regex
(或dstdom_regex
) 如果您希望 acl 正则表达式匹配 URL(或域)的部分或全部。
最后,acl
可以通过规则允许或拒绝多个 s cache_peer_access
。请注意,规则的顺序很重要(第一个匹配的规则获胜)。