配置绑定到 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
不,您不能这样做并期望明智的行为。
端口 80 的请求将看似随机地到达一个前端或另一个前端。这种配置的结果是未定义的,虽然在技术上我不是有效的,但它实际上是一个无意义的配置。
适用于端口 80(或任何端口)的所有规则都需要在绑定到端口 80的单个
frontend
(或单个)上指定。listen