HAProxy ACL 不起作用

HAProxy ACL 不起作用

我正在使用 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

相关内容