haproxy balance uri depth

时间:2014-09-04 12:39:21

标签: haproxy balance

我的haproxy配置存在很大问题。我有网址:

http://domain.com/some-text/?9/3/90/custom/184/2256184/2.jpg<br>

目标是Haproxy应该始终在同一个网络服务器上发送具有相同ID(例如2256184)的URL。

我已经尝试过参数“balance uri depth 8”但它不起作用。有人知道如何解决问题吗?

我的haproxy 1.5配置:

global
   log /dev/log    local0 debug
    chroot /var/lib/haproxy
    user haproxy
    group haproxy
    daemon
    maxconn 5000

defaults
    log     global
    mode    http
    option  httplog
    option forwardfor       
    option http-server-close
    option  dontlognull
    timeout connect 5s
    timeout client 25s
    timeout server 25s

frontend http-frontend
    bind 0.0.0.0:80
    mode http
    maxconn 50000
    default_backend webfarm

backend webfarm
    mode http
    balance uri depth 8
    option forwardfor
    hash-type consistent
    server webmember01 192.168.10.22:80 weight 50 check
    server webmember02 192.168.10.23:80 weight 50 check

2 个答案:

答案 0 :(得分:0)

您的URL示例仅包含7个目录。 我猜HAProxy回退到默认的LB算法,这是圆形的。

巴普蒂斯特

答案 1 :(得分:0)

HAProxy默认情况下仅使用URL的左侧,如果您希望它使用整个URL(包括?之后的部分),则需要提供whole参数。< / p>

如果您的网址有?,例如:

domain.com/some-text/?9/3/90/custom/184/2256184/2.jpg

您需要使用此参数,因为在您的情况下,您感兴趣的是?右侧的信息。

balance uri whole