我有3个隧道结束到Debian运行squid3(端口9001至9003)。 每个隧道开始时运行一个代理。 我试图通过这种方式来平衡这些代理:
http_access allow all http_port 4128 cache_peer 127.0.0.1 sibling 9001 round-robin cache_peer 127.0.0.1 sibling 9002 round-robin cache_peer 127.0.0.1 sibling 9003 round-robin
当我重新启动squid3在第3行得到失败。我也尝试parent而不是sibling 。 同样失败。
仅供参考,如果我将客户端设置为端口为9001或9002或9003的debian IP,则工作正常。
任何想法?
您应该为每个cache_peer指定名称选项。 从cache_peer文档引用:
name = xxx —对等体的唯一名称。 如果在同一个主机上有多个对等端但不同的端口,则这是必需的
所以你的cache_peerconfiguration应该是这样的
cache_peer 127.0.0.1 parent 9001 0 name=A round-robin no-query no-digest cache_peer 127.0.0.1 parent 9002 0 name=B round-robin no-query no-digest cache_peer 127.0.0.1 parent 9003 0 name=C round-robin no-query no-digest cache_peer 127.0.0.1 parent 9004 0 name=D round-robin no-query no-digest
最终工作解决scheme
编辑/etc/hosts并添加:
127.0.0.1 tunnelproxy1 127.0.0.1 tunnelproxy2 127.0.0.1 tunnelproxy3 127.0.0.1 tunnelproxy4
然后去/etc/squid3/squid.conf和:
http_access allow all http_port 3128 cache_peer tunnelproxy1 parent 9001 0 round-robin no-query no-digest cache_peer tunnelproxy2 parent 9002 0 round-robin no-query no-digest cache_peer tunnelproxy3 parent 9003 0 round-robin no-query no-digest cache_peer tunnelproxy4 parent 9004 0 round-robin no-query no-digest never_direct allow all
如果你觉得有更好的解决方法,请免费下载:)