Я хочу условно добавить заголовок к запросам, которые соответствуют домену и его поддоменам. Итак, я хочу сопоставить запросы от:
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
Я могу получить захваченные данные для вывода в заголовке, но условное выражение не работает. Как я могу так проверить исходный заголовок?
Похоже, вы бы предпочли использовать следующий acl, он выглядит более читаемым:
acl is_my_domain hdr_end(host) -i example.com
http-response add-header X-Your-Domain-IS %[host] if is_my_domain