Haproxy:如何平衡到达目录内的流量?

Haproxy:如何平衡到达目录内的流量?

我想知道是否有办法使用 haproxy 平衡目录内的流量。

我有 haproxy 平衡所有 HTTP 流量到server1& server2。我想要平衡所有images目录请求到server1

例如

url: http://www.domain.com/images/image_one.jpg
url: http://www.domain.com/images/image_two.jpg
url: http://www.domain.com/images/image_three.jpg

所有这些请求都必须发送到 server1。

答案1

您可以声明一个acl,然后执行一个条件use_backend语句。如下所示:

frontend a-frontend-conf

    # Declare an ACL using path_beg (Path Begins)
    acl path_images path_beg /images

    # Use backend server1 if acl condition path_images is fulfilled
    use_backend server1 if path_images

backend server1
    [...]

答案2

server1另一种方法是,假设您已经为&定义了后端server2,那么在后端进行静态服务器选择,如下所示:

frontend a-frontend-conf

    # Declare an ACL using the 'Host' header
    acl host_domain hdr(host) -i www.domain.com
    # Use backend 'farm' if acl condition host_domain is fulfilled
    use_backend farm if host_domain 

backend farm
    acl path_images path_beg /images
    use-server server1 if path_images
    server server1 1.1.1.1:80 
    server server2 2.2.2.2:80

相关内容