如何在主机名匹配x.domaine.com时将负载平衡到特定服务器(Haproxy)

3

正如标题中所提到的,我已经使用基本配置设置了一个Haproxy负载均衡器,我想要做的是如果主机名匹配x.domaine.com,则始终将请求重定向到第一个服务器,但对于domaine.com保持负载平衡,这是否可以使用Haproxy实现,如果可以,我该如何做。 以下是我的配置:

listen webcluster *:80
mode    http
    balance roundrobin
    option httpchk HEAD / HTTP/1.0
    option forwardfor
    cookie LSW_WEB insert
    option httpclose
server bigSRV  192.168.1.10:8082 cookie LSW_WEB01 check
server miniSRV 192.168.2.10:8082 cookie LSW_WEB01 check

谢谢您的提前感谢。
感谢您事先的感激。
1个回答

7

经过数小时的挖掘,我终于让它工作了,所以我将回答自己的问题,以防其他人遇到相同的问题。

一般来说,我创建了一个前端,监听端口:80,并在其中定义了2个ACL,使用“if”语句检查HTTP头,然后重定向到定义的其中一个后端,如果没有请求匹配条件,则重定向到默认后端。以下是操作步骤(在haproxy.cfg中):

frontend http-proxy
    bind *:80
    acl is_www hdr(host) -i www.domain.com
    acl is_x hdr(host) -i x.domain.com
    use_backend clusterWWW if is_www
    use_backend clusterX if is_x
    default_backend clusterWWW

backend clusterWWW
    server bigSRV  192.168.1.10:8082 cookie LSW_WEB01 check
    server miniSRV 192.168.2.10:8082 cookie LSW_WEB01 check

backend clusterX
    server bigSRV  192.168.1.10:8082 cookie LSW_WEB01 check

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接