cache_peer <squid server B IP> parent <server B squid port> 3130 no-query no-digest no-netdb-exchange
acl otherproxy url_regex "/etc/squid/divert.txt"
cache_peer_access <Squid server B IP> allow otherproxy
never_direct allow otherproxy
cache_peer_access <squid server B IP> deny all
并遵循其他acls顶部的squid B配置
acl A_proxy src <Squid server A IP>/32
http_access allow A_proxy
之后,您可以将正则表达式添加到文件 /etc/squid/divert.txt 并重新加载 squid。将从服务器 B 而非直接请求匹配的 URL。
我之所以提到在代理 B 上添加 acl 也是为了避免代理 B 上的身份验证、连接限制等设置影响代理 A 的客户端,因为这些问题很难调试。因此,最好允许从代理 A 到代理 B 的所有请求。如果要阻止某些东西,请在两个代理配置中阻止它。
在 squid A 配置中使用以下内容(通常是 /etc/squid/squid.conf)
并遵循其他acls顶部的squid B配置
之后,您可以将正则表达式添加到文件 /etc/squid/divert.txt 并重新加载 squid。将从服务器 B 而非直接请求匹配的 URL。
我之所以提到在代理 B 上添加 acl 也是为了避免代理 B 上的身份验证、连接限制等设置影响代理 A 的客户端,因为这些问题很难调试。因此,最好允许从代理 A 到代理 B 的所有请求。如果要阻止某些东西,请在两个代理配置中阻止它。
你想在 squid A 的 squid.conf 中出现类似下面的内容。以它为例并进行调整以适应您的确切要求。
Squid 特别具有支持代理服务器分层组织的功能。squid 手册页有关于该主题的优秀文档。