这是可能的/正确的configuration多个前端绑定到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。
我认为它看起来很干净,如果我configuration它,而不是使用一个单一的前端,并与ACL播放,但似乎configuration是使HAProxy工程错误 – 有时适用正确的规则,有时,而不是。
在将这些前端作为一个前端join之前, 是否可以使用绑定到相同端口的多个前端?
编辑:顺便说一下,我正在使用HAProxy 1.5
不,你不能这样做,并期望明智的行为。
端口80的请求将在一个前端或另一端看似随机地到达。 这样的configuration的结果是不确定的,虽然在技术上我不是有效的,但对于所有实际的目的而言,这是一种无意义的configuration。
所有适用于端口80(或任何端口)的规则都需要在绑定到端口80的单个frontend (或单个listen )上指定。