HAProxy:多个前端,相同的绑定

这是可能的/正确的配置多个前端绑定到HAProxy上的同一个端口吗?
frontend A
    bind :80
    bind :2000-5000
    acl rule_about_A
    use_backend server_A if rule_about_A

frontend B
    bind :80
    acl rule_about_B
    use_backend server_B if rule_about_B

在这个使用案例中,前端A需要绑定到80端口和2000-5000范围内的端口。对于前端B,我不想将其绑定到所有这些端口,只想绑定到80端口。
我认为如果以这种方式进行配置,而不是使用单个前端并使用ACL来操作,会显得更整洁,但似乎这种配置会导致HAProxy工作出错 - 有时应用正确的规则,有时则不会。
在将这些前端合并为一个之前,是否可以使用多个绑定到相同端口的前端? 编辑:顺便说一下,我正在使用HAProxy 1.5版本。
1个回答

不可以这样做并期望有合理的行为。

对于端口80的请求将会在一个前端或另一个前端随机出现。这种配置的结果是未定义的,虽然从技术上讲它不是无效的,但在实际应用中它是一个荒谬的配置。

所有应用于端口80(或任何端口)的规则都需要在一个绑定到端口80的单个frontend(或单个listen)上进行指定。


  • 相关问题