在 HAProxy 中禁用“stats uri”的“重定向前缀”

在 HAProxy 中禁用“stats uri”的“重定向前缀”

在 HAProxy(1.5)中,我有此规则将所有请求重定向到规范域:

redirect prefix https://domain.tld code 301 unless { hdr(host) -i domain.tld }

这很好用。但是,我还启用了统计信息 ( stats uri /haproxy-stats)。对于这些,我想禁用重定向,因为我需要通过它们自己的主机名访问特定的 haproxy 机器(它们位于 DNS 循环之后)。

有没有办法以这种方式配置 HAProxy?

答案1

这可以使用 ACL 规则来完成:

acl url_stats path /haproxy-stats
redirect prefix https://domain.tld code 301 unless { hdr(host) -i domain.tld or url_stats }

使用匿名 ACL 也有效:

redirect prefix https://domain.tld code 301 unless { hdr(host) -i domain.tld } || { path /haproxy-status }

然而,事实证明这完全没有必要,因为 HAProxy 不会将重定向规则应用于统计 URL;可能我缓存了一个旧的 301 重定向。

相关内容