Haproxy - разрулить /location на разные бекенды

Thank you for reading this post, don't forget to subscribe!

Есть сле­ду­ю­щая схе­ма, 2 haproxy и 1 virtual ip меж­ду ними.
запро­сы при­ле­та­ют на 1 порт 9090 на кото­ром висит ssl и балан­си­ру­ет всё на внут­рен­ние ip адре­са на порт 8080:

frontend app_main
bind *:9090 ssl crt /etc/haproxy/ssl_wildcard.pem
mode http
option forwardfor header X-Real-IP
default_backend app_main_backend

backend app_main_backend
mode http
balance roundrobin
server server1 192.168.1.15:8080 check port 8080 check inter 5000
server server2 192.168.1.16:8080 check port 8080 check inter 5000

 

появи­лась зада­ча рас­ки­дать location гов­но коде­ров на дру­гие бекен­ды. для это­го остав­ля­ем теку­щую кон­фи­гу­ра­цию как есть, но допол­ня­ем её

frontend app_main
bind *:9090 ssl crt /etc/haproxy/ssl_wildcard.pem
mode http
option forwardfor header X-Real-IP
default_backend app_main_backend

acl portal path_beg /portal 
acl market path_beg /market 
acl social_networks path_beg /social_networks 

use_backend baddeveloper if portal 
use_backend baddeveloper if market 
use_backend baddeveloper if social_networks 

backend app_main_backend
mode http
balance roundrobin
server server1 192.168.1.15:8080 check port 8080 check inter 5000
server server2 192.168.1.16:8080 check port 8080 check inter 5000

backend baddeveloper 
mode http 
balance roundrobin 
option forwardfor 
server server1_baddeveloper 192.168.1.17:8080 check port 8080 check inter 5000 
server server2_baddeveloper 192.168.1.18:8080 check port 8080 check inter 5000

после чего про­ве­ря­ем конфиг
haproxy -c -V -f /etc/haproxy/haproxy.cfg

если всё ОК то рело­адим haproxy:
systemctl reload nginx