我已成功在我的服务器群集上设置haproxy。我遇到了一个我无法找到解决方案的障碍。
测试个人群集计算机
可能由于某种原因,群集中的一台计算机会出现配置变化。我无法找到告诉haproxy的方法,我想要从群集中使用特定的计算机。
基本上,mysite.com(和其他几个域)由web1,web2和web3框提供。他们完美地循环。
我想在URL中添加一些内容告诉haproxy我特意想与web2交谈,因为在特定情况下,只有该服务器在一个网页上引发错误。
如果没有使用URI过滤器构建新群集并且该群集中只有一台计算机,那么任何人都知道如何做到这一点?我希望按原样使用集群,但是在URI中添加一些内容,告诉haproxy将哪个服务器用于集群之外。
谢谢!
答案 0 :(得分:1)
您是否考虑过使用不同的端口?使用不同的端口定义新的listen部分,因为据我所知,你可以通过任何方式修改你的URL?
答案 1 :(得分:0)
基本上,haproxy不能做我所希望的。无法向URL添加参数以建议群集中的哪个主机使用。
我通过在防火墙的群集中为每个服务器设置唯一端口来解决我的测试问题。这也可以在haproxy级别完成。
为了保护外部世界的这条路径,我告诉防火墙只接受来自我们自己网络的流量。
这使我们可以测试群集中的特定服务器。我们确实必须在我们的PHP应用程序中添加一个陷阱来处理一个太大的会话cookie,因为我们有haproxy操纵这个cookie以使用户保持在他们首先命中的服务器上。因此,当检测到无效会话cookie时,我们让页面简单地删除会话并重新加载页面。
这适用于我们的测试目的。