我很难configurationSquid 3.3在多个WAN链路(使用随机ACL + tcp_outgoing_address选项)上执行“负载平衡”,并且还有一个“反向代理”。
当我configuration一个(负载平衡)或另一个(反向代理)时它工作得很好,但是当两者configuration时,反向代理不再正常工作。
数据包捕获显示通常在LAN接口上发送的反向代理stream量,现在正在WAN接口上输出(因此不会到达LAN上的内部主机)。 很明显,“ tcp_outgoing_address ”设置也被应用于反向代理stream量,而不仅仅是正向代理stream量。
以下是我使用的负载平衡configuration:
acl fiftyPercent random 0.5 tcp_outgoing_address <<WAN1-IP-HERE>> fiftyPercent tcp_outgoing_address <<WAN2-IP-HERE>>
请参阅 – http://wiki.squid-cache.org/Features/AclRandom
我对鱿鱼知之甚less,而对无数post的search却一无所获。 有谁知道我怎么可以应用负载平衡只适用于转发代理stream量,仍然有反向代理stream量工作,如果它没有设置?
为反向代理stream量创build一个ACL,并tcp_outgoing_address <<LAN-IP-HERE>>设置tcp_outgoing_address <<LAN-IP-HERE>> 。
我想出了如何解决我的问题。
虽然drookiebuild议为反向代理创buildACL,并将tcp_outgoing_address标记应用于该代理几乎看起来很明显,但我不知道从哪里开始,更不用说如何定义/处理ACL。
首先,我必须弄清楚Squid.conf是如何被解释的(即从头到尾查找第一个匹配的ACL),以及各种“标签”是什么意思。 我发现下面的链接相当有用,以获得一些基础下的基础: http : //www.deckle.co.uk/squid-users-guide/squid-configuration-basics.html
在对Squid.conf进行了grookking后,我发现现有的反向代理configuration已经定义了ACL(它需要cache_peer_access标签)。
然后我想出了这些是如何解释由Squid(即顺序,优先,覆盖等)。
我所需要做的就是添加下面的内容(每行代表每个已经定义的反向代理ACL,192.168.0.254是我LAN侧接口的IP地址):
tcp_outgoing_address 192.168.0.254 OWA_URI_pfs tcp_outgoing_address 192.168.0.254 rvm_Extranet tcp_outgoing_address 192.168.0.254 rvm_Prototype tcp_outgoing_address 192.168.0.254 rvm_WebService tcp_outgoing_address 192.168.0.254 rvm_License
然后可以这样做:
acl fiftyPercent random 0.5 tcp_outgoing_address <<WAN1-IP-HERE>> fiftyPercent tcp_outgoing_address <<WAN2-IP-HERE>>
结果是反向代理stream量从指定的LAN侧IP出去,然后其余所有stream量通过random ACL进行负载平衡。
希望能帮助任何可能遇到类似问题的人。