我正在使用 HAProxy 构建负载均衡器。我希望有一个前端和多个后端,使用路径进行划分。例如:
- 172.20.20.10/tomcat1 使用后端 tomcat1
- 172.20.20.10/tomcat2 使用后端 tomcat2
(172.20.20.10) 是 HAProxy 节点 IP。
这是我的配置:
frontend frontend
bind *:80
option httpclose
acl tomcat1acl url_beg /tomcat1
acl tomcat2acl url_beg /tomcat2
use_backend tomcat1backend if tomcat1acl
use_backend tomcat2backend if tomcat2acl
backend tomcat1backend
balance roundrobin
mode http
server serv01 172.20.20.20:8080 check
backend tomcat2backend
balance roundrobin
mode http
server serv01 172.20.20.25:8084 check
但我在 172.20.20.10/tomcat1 和 172.20.20.10/tomcat2 上都收到错误 503 Service Unavailable。是否存在配置错误?
答案1
尝试将“模式 http”添加到前端定义,就像后端一样。如果其他地方没有默认为 http。我相信这就是 Ahmed Gamal 在 2018 年所追求的。
答案2
尝试将前端的 http 模式配置为
frontend frontend
bind *:80