Назад | Перейти на главную страницу

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.

Вы можете объявить 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
    [...]

Другой способ, если у вас уже есть серверная часть, определенная для 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