基于URL的HAProxy负载均衡设置

HAProxy的ACL实现负载平衡的URL请求,下面的例子包括ACL的url_beg。 url_beg提交URL中使用的字符串相匹配。

直到今天我用的基本HAProxy设置,今天我发现了一个关于后台服务器基础上URL请求选择任务。当这项任务的工作后,我学到了HAProxy的访问控制列表的知识。
任务:我有一个已经安装的WordPress为http://domainname.com/blog。该域名从2个后端服务器和HAProxy负载均衡运行,其任务是重定向所有/blog请求仅单台服务器。
网络场景此设置
  • HAProxy的服务器:192.168.1.90
  • WEB1:192.168.1.103
  • WEB2:192.168.1.105
  • 域:howtoing.com
下面的例子包括ACL的url_beg。 url_beg提交URL中使用的字符串相匹配。使用URL /blog(howtoing.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 howtoing_blog if is_blog
    default_backend howtoing_website

backend howtoing_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 howtoing_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
我希望本教程将帮助您配置HAProxy的.Regarding可用于访问控制列表中列出了完整的配置设置一些基本的ACL HAProxy配置文档 。