配置 squid 3.5 对不同的监听端口使用不同的父代理

配置 squid 3.5 对不同的监听端口使用不同的父代理

我现在有以下配置:

# 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

这似乎是可能的,但老实说我以前没有尝试过。您可以结合aclcache_peer_access来控制将哪些流量转发到哪个对等点。

acl first_port myport 3128
cache_peer_access proxy1_address allow first_port

您可能需要看看squid 文档页面。此外,这里还有例子将其用于多个后端服务器。

相关内容