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


10

配置绑定到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

Answers:


11

不,您不能这样做并且期望明智的行为。

对端口80的请求看似随机地到达一个前端或另一前端。这种配置的结果是不确定的,尽管从技术上讲不是有效的,但对于所有实际目的来说,这都是一种无意义的配置。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.