Eu criei um aplicativo simples e estou executando-o em 4 contêineres diferentes.
Consegui fazer proxy de todas as portas para o bind 9991, mas quando crio acl para usar backends diferentes não funciona, apenas o backend padrão.
Configuração:
frontend tests
bind *:9991
timeout client 60s
mode http
acl is_servers_2 path_end /app2
use_backend servers_2 if is_servers_2
acl is_servers_3 path_end /app3
use_backend servers_3 if is_servers_3
default_backend servers_2
backend servers_2
timeout connect 10s
timeout server 60s
mode http
server server3001 127.0.0.1:3001
server server3002 127.0.0.1:3002
backend servers_3
timeout connect 10s
timeout server 60s
mode http
server server3003 127.0.0.1:3003
server server3004 127.0.0.1:3004
versão haproxy: 2.4.4
Ubuntu: 18.04