windows – 具有基于标头的路由的HTTP负载均衡器?
我正在寻找一个HTTP负载平衡解决方案,它将提供以下内容:
1)接受端口X上的HTTP连接,并将它们随机或以循环方式转发到多个其他主机(和/或端口)中的一个. 2)如果服务器回复包含具有特定值的某个HTTP标头(即’Magic-Number:12345′),请记住它并将包含相同标头的所有后续请求转发到此服务器. 3)在一定的时间间隔内,通过向所有目标服务器发送指定的HTTP请求来执行保持活动测试.如果任一服务器没有回复,请停止转发,直到它再次联机. 4)(并不重要,但很高兴)接受来自客户端的HTTPS连接并将它们转换为与服务器的HTTP连接. 该解决方案必须包含免费和/或开源软件,并在Windows 200x Server下运行. 有什么建议? 更新:Cygwin或Portable Ubuntu(或其他Colinux发行版)也是可行的选择,如果他们能够运行适当的* nix解决方案.
因为我手边没有任何东西可以验证它是否正常工作,所以我正在写这篇文章,但我希望这可能会给你一些暗示.
所以,我的答案是: 当然你可以用Apache的 ProxyPassReverse / http://host1:80/ ProxyPassReverse / http://host2:80/ <Proxy balancer://cluster> BalancerMember http://host1:80 route=LB1 BalancerMember http://host2:80 route=LB2 ProxySet stickysession=MYSESSIONID </Proxy> 因此,关于第1点,请阅读mod_proxy_balancer的“请求计数算法”部分. 关于第2点:我真的不知道HTTP头解析.上面的示例使用额外的URL参数MYSESSIONID来代理作为同一主机的同一连接的一部分的流量.我想你也可以使用cookies.无论如何,这应该由标识为LB1或LB2的应用程序处理(这些是作为会话ID或cookie的一部分添加的). Re 3:负载均衡器监视其所有成员,并在它们没有响应时禁用它们.您还可以通过Web界面启用/禁用节点(mod_status,请参阅“启用Balancer Manager支持”). 对于第4点,您可以在端口443上设置启用SSL的VirtualHost监听,该端口代理所有流量到达平衡器成员端口80的流量. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- .net – 是否有可能在类中具有版本无关的DLL引用?
- lisp – 试试Windows中“The Little Schemer”一书中的例子
- Windows 8上的Java 7 Debug无法正常工作
- 如何将列表转换为ObservableCollection?
- 如何在Windows上使用提升的权限运行.msi安装程序
- 批处理脚本(Windows)字符串替换扭曲
- windows-server-2008-r2 – 通过GPO的本地管理员用户
- windows-server-2003 – Windows Server上的PostgreSQL故障
- Elastic Kibana - Install as windows service
- Windows上安装PyV8