我想有条件地向与域及其子域匹配的请求添加标头。因此,我想匹配来自以下地址的请求:
http://example.com
https://example.com
http://foo.example.com
https://foo.example.com
但不是:
http://example.com.otherdomain.com
我的 haproxy 配置中有这些行。
frontend http
capture request header origin len 128
acl is_my_domain capture.req.hdr(0) /https?:\/\/(.*\.)?example.com/
http-response add-header X-Your-Domain-IS %[capture.req.hdr(0)] if is_my_domain
我可以让捕获的数据在标头中回显,但条件不起作用。我该如何测试原始标头?
答案1
看起来您宁愿使用以下 acl,它看起来更具可读性:
acl is_my_domain hdr_end(host) -i example.com
http-response add-header X-Your-Domain-IS %[host] if is_my_domain