Я хочу знать, есть ли способ сбалансировать трафик в каталогах с помощью 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