基于URL的HAProxy负载均衡设置

时间:2019-05-19 01:26:11  来源:igfitidea点击:

环境:将wordpress安装为http://domainname.com/blog
此域运行于2个后端服务器,由HAProxy平衡,任务是将所有/博客请求重定向到单个服务器。

此设置的网络场景
下面的例子包括url_beg的ACL。
url_beg匹配url提交中使用的字符串。
使用url所有以/blog (theitroad.com/blog)开始的请求将重定向到WEB2(192.168.1.105)服务器。
所有其他请求将重定向到两个服务器(WEB1、WEB2)中的一个,这取决于所使用的负载均衡算法。
下面是一个使用url_beg ACL的快速示例:

global
    log 127.0.0.1 local0 notice
    maxconn 50000
    daemon
defaults
    log global
    mode http
    option httplog
    option dontlognull
    contimeout 120000
    clitimeout 120000
    srvtimeout 120000
    option forwardfor
    option http-server-close

# Configuration for HTTP site
frontend http-in
    bind 192.168.1.90:80
    acl is_blog url_beg  /blog
    use_backend theitroad_blog if is_blog
    default_backend theitroad_website

backend theitroad_blog
    mode http
    balance roundrobin  # Load Balancing algorithm
    option httpchk
    option forwardfor
    server WEB2 192.168.1.105:80 weight 1 maxconn 512 check

backend theitroad_website
    mode http
    balance roundrobin  # Load Balancing algorithm
    option httpchk
    option forwardfor
    server WEB1 192.168.1.103:80 weight 1 maxconn 512 check
    server WEB2 192.168.1.105:80 weight 1 maxconn 512 check