假设我在haproxy后面有6个web服务器。Web服务器应该使用apache提供虚拟主机(apache或nginex并不重要)。我希望能够根据虚拟主机指定传入的HTTP请求(命中host )的位置。例如
a.domain.com请求应该转到web1,web2 b.domain.com请求应该去web1,web2和web3 c.domain.com请求应该去web4,web5 d.domain.com请求应该去web5,web6 e.domain.com请求应该去web3,web4,web5和web3
其想法是有一个HA,负载平衡的共享主机,用户可以选择多少服务器,2到6(在本例中)。另一件重要的事情是,我希望load_balance站点在一些服务器,而不是在所有的服务器,以便我可以横向规模,以接受更多的客户。
有可能吗?如果没有,你现在有另一种解决办法吗?
发布于 2011-07-30 15:58:36
定义一组ACL的谷歌sez就是这样的方法,如下所示:
frontend http
bind *:80
acl host_site_a hdr(host) -i a.domain.com
acl host_site_b hdr(host) -i b.domain.com
use_backend site_a if host_site_a
use_backend site_b if host_site_b
backend site_a
server web1 web1:80
server web2 web2:80
backend site_b
server web1 web1:80
server web2 web2:80
server web3 web3:80诸若此类。根据需要进行扩展和充实。
https://serverfault.com/questions/295813
复制相似问题