Apache HTTPD ProxyRemote和Balancer?

时间:2016-04-27 15:13:30

标签: apache proxy load

browser (IE) -> apache httpd proxy -> Proxy 1  -> target url
                                      Proxy 2  -> target url
                                      Proxy n  -> target url

所以基本上我想创建自己的apache httpd代理,在httpd conf中选择外部代理设置之间作为负载均衡器。

当前设置:

 ProxyPreserveHost On
 ProxyRequests On
 ProxyVia On
 ProxyRemote * http://proxy_ip:80

这个版本运行良好,但我无法弄清楚如何向ProxyRemote添加多个代理?  ...设置为:似乎无法正常工作:  ProxyRemote * balancer:// mycluster

有什么想法吗?是否可以使用apache或其他负载均衡器来实现?

2 个答案:

答案 0 :(得分:0)

也许我帮助你的时间太晚了,但似乎在你的问题的其他地方没有明确的答案,所以这可能在将来有用。

不幸的是,答案是您无法通过Apache实现这种负载平衡:根据Apache文档(https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxyremote),ProxyRemote指令仅支持httphttps架构,而不是balancer://

无法弄清楚为什么Apache开发人员不考虑这种配置,这很难,因为我找到了mod_proxy.c(http://apache-http-server.18135.x6.nabble.com/attachment/4777809/0/ProxyRemote-Balancer.patch)的补丁,它似乎只是通过添加{{1模式到匹配协议列表。

答案 1 :(得分:0)

如果您在映射到平衡器的代理服务器上设置了另一个虚拟主机,然后通过以下方式对该虚拟主机进行代理,则可能可行:

ProxyRemote * http://balancer-proxy.vhost.local