HAPROXY 每个域重定向

HAPROXY 每个域重定向

我正在尝试使用 acl 和 hdr_dom 通过域名将请求重定向到我的负载均衡器,再重定向到一个单独的后端。重定向可以正常处理第一个请求 - “GET /”(目标服务器是 WordPress 站点),但是当客户端请求资产(例如“GET /blablabla/style.css”)时,haproxy 不再将其重定向到正确的后端,而是重定向到默认的后端。

在 haproxy 日志中,我可以看到请求的正确主机(我在 hdr_dom 中定义的主机),但由于 GET 请求本身是相对的(我的意思是不包含域,而只包含来自 /blablabla 等),因此 haproxy 无法通过 hdr_dom 识别它。我只是在这里猜测。请帮忙...

答案1

我有一个与此类似的配置,它可以工作

use_backend webcams if { hdr(host) -i webcams.XX.YY webcams.YY.ZZ }
use_backend spain   if { hdr_dom(host) -i TT.es }
default_backend DEFAULT

请注意,此配置以两种不同的方式解析“主机”标头:仅精确主机名和域,始终忽略大小写。

想法:您是否解析了标头的正确部分?例如,只有域,而不是整个主机名,或者大小写不匹配...

答案2

抱歉,各位,我的错。

我在 haproxy cfg 中发现了这些:

acl url_wordpress path_beg -i /wp-内容

如果 url_wordpress 则 http 请求被拒绝

:$

相关内容