Search code examples
regexrouteshaproxy

Wildcard in subdomain for ACL in HAPROXY


Trying to match the following in haproxy:

acl instagiveweb hdr_beg(host) -i foo*.something.com

where the url could be foo-staging.something.com or foo.something.com

I've looked through the docs at https://www.haproxy.com/doc/aloha/7.0/haproxy/acls.html#data-types-and-matching-between-samples-and-patterns but having a hard time finding the pattern matching that I need.

Any help appreciated!


Solution

  • You want hdr_reg() ("reg"ex), not hdr_beg() (literal string prefix/"beg"inning).

    acl instagiveweb hdr_reg(host) -i ^foo[^\.]*\.example\.com$
    

    This should match the entire host header only if begins with foo followed by 0 or more of any character except . followed by .example.com at the end of the value.