Squid 根据请求的 URL 选择父级?

Squid 根据请求的 URL 选择父级?

我有一个直接连接到互联网的基本 Squid 配置,我需要一种根据 URL 使用父对等体的方法。

例如:

  • 我将其配置为使用本地代理,将其链接到本地​​计算机,以获取任何带有 .local TLD 的 URL
  • 如果用户请求http://www.google.com/它直接进入 google.com 端口 80
  • 如果用户请求http://server1.local/它进入 LAN 上名为 server1 的机器使用本地代理

这是一个可以通过 DNS 解决的简化示例,但我正在做一些更复杂的事情。

我尝试用谷歌搜索相关结果,但大多数结果都不相关。谢谢。

答案1

来自鱿鱼常见问题


cache_peer_domain 指令允许您为某些域指定某些缓存同级或父级:

#  squid.conf - On the host: sv.cache.nlanr.net
#
#  Format is: hostname  type  http_port  udp_port
#
cache_peer electraglide.geog.unsw.edu.au parent 3128 3130
cache_peer cache1.nzgate.net.nz          parent 3128 3130
cache_peer pb.cache.nlanr.net   parent 3128 3130
cache_peer it.cache.nlanr.net   parent 3128 3130
cache_peer sd.cache.nlanr.net   parent 3128 3130
cache_peer uc.cache.nlanr.net   sibling 3128 3130
cache_peer bo.cache.nlanr.net   sibling 3128 3130
cache_peer_domain electraglide.geog.unsw.edu.au .au
cache_peer_domain cache1.nzgate.net.nz   .au .aq .fj .nz
cache_peer_domain pb.cache.nlanr.net     .uk .de .fr .no .se .it
cache_peer_domain it.cache.nlanr.net     .uk .de .fr .no .se .it
cache_peer_domain sd.cache.nlanr.net     .mx .za .mu .zm

上述配置表示缓存将对域名uk、de、fr、no、se和it使用pb.cache.nlanr.net和it.cache.nlanr.net,对域名mx、za、mu和zm使用sd.cache.nlanr.net,对域名au、aq、fj和nz使用cache1.nzgate.net.nz。


示例 squid 配置文件中有关 cache_peer_domain 的注释。

#  TAG: cache_peer_domain
#       Use to limit the domains for which a neighbor cache will be
#       queried.  Usage:
#
#       cache_peer_domain cache-host domain [domain ...]
#       cache_peer_domain cache-host !domain
#
#       For example, specifying
#
#               cache_peer_domain parent.foo.net        .edu
#
#       has the effect such that UDP query packets are sent to
#       'bigserver' only when the requested object exists on a
#       server in the .edu domain.  Prefixing the domain name
#       with '!' means the cache will be queried for objects
#       NOT in that domain.
#
#       NOTE:   * Any number of domains may be given for a cache-host,
#                 either on the same or separate lines.
#               * When multiple domains are given for a particular
#                 cache-host, the first matched domain is applied.
#               * Cache hosts with no domain restrictions are queried
#                 for all requests.
#               * There are no defaults.
#               * There is also a 'cache_peer_access' tag in the ACL
#                 section.
#
#Default:
# none

相关内容