Squid 反向代理 - 具有连接持久性的两台 Web 服务器负载平衡

Squid 反向代理 - 具有连接持久性的两台 Web 服务器负载平衡

我想设置一个 Squid 反向代理,将 HTTP 流量拆分到两个 Web 服务器以实现负载平衡,并让其使用持久性(因此,如果用户通过第一个请求到达 Web 服务器 1,那么他们的第二个请求也会发送到 Web 服务器 1。)

我曾经使用过的其他反向代理解决方案都是通过向 HTTP 流中注入会话 cookie 来实现此目的的;如何使用 squid 来实现此目的?

答案1

假设您的服务器位于 10.0.0.51 和 10.0.0.52。您需要以下内容:

cache_peer 10.0.0.51 parent 80 0 no-query originserver sourcehash
cache_peer 10.0.0.52 parent 80 0 no-query originserver sourcehash

它会对客户端的 IP 地址进行哈希处理,并根据该哈希将给定客户端的每次请求引导到同一个上游服务器(只要上游服务器保持运行)。

答案2

Squid 不是一个好的负载平衡器。它只是没有必要的功能。使用(或说服决策者)HAProxy。

相关内容