我现在有以下配置:
# Squid normally listens to port 3128
http_port 3128
cache_peer proxy1_address parent proxy1_port 0 proxy-only default login=name1:pass1
never_direct allow all
现在我需要配置 squid,以便所有传入 3128 的请求都重定向到代理 1(现在这样),所有传入 3127 的请求都重定向到代理 2。可以这样做吗?
我当前的配置不起作用:
http_port 3128
http_port 3127
acl port_3128 port 3128
acl port_3127 port 3127
# 3128
cache_peer proxy01 parent 3128 0 no-query originserver name=proxy3128
cache_peer_access proxy3128 allow port_3128
cache_peer_access proxy3128 deny port_3127
# 3127
cache_peer proxy02 parent 3128 0 no-query originserver name=proxy3127
cache_peer_access proxy3127 allow port_3127
cache_peer_access proxy3127 deny port_3128
答案1
谢谢帮助,终于找到了可行的配置(感谢来自 squid 邮件列表的人)
http_port 3128 name=port_3128
http_port 3127 name=port_3127
nonhierarchical_direct off
acl port_3128_acl myportname port_3128
acl port_3127_acl myportname port_3127
always_direct deny port_3128_acl
always_direct deny port_3127_acl
never_direct allow port_3128_acl
never_direct allow port_3127_acl
# 3128
cache_peer proxy1 parent 3128 0 proxy-only default name=proxy3128
cache_peer_access proxy3128 allow port_3128_acl
cache_peer_access proxy3128 deny all
# 3127
cache_peer proxy2 parent 3128 0 proxy-only default name=proxy3127
cache_peer_access proxy3127 allow port_3127_acl
cache_peer_access proxy3127 deny all
答案2
这似乎是可能的,但老实说我以前没有尝试过。您可以结合acl
和cache_peer_access
来控制将哪些流量转发到哪个对等点。
acl first_port myport 3128
cache_peer_access proxy1_address allow first_port
您可能需要看看squid 文档页面。此外,这里还有例子将其用于多个后端服务器。