我创建了一个简单的应用程序,并在 4 个不同的容器中运行它。
我设法将所有端口代理到绑定 9991,但是当我创建 acl 以使用不同的后端时,它不起作用,只有默认后端。
配置:
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
haproxy版本:2.4.4
Ubuntu:18.04
答案1
事实证明错误是在我的服务器内部,我没有尝试通过 haproxy 访问的正确路径。
我不知道/app2 需要存在于我的服务器中。