Estou quase inclinado a pensar que o fato de o HAProxy aceitar isso ...
acl badhdr hdr_sub(X-Request-ID) -i Foo: Bar
... pode ser um bug, e "Bar" está sendo descartado silenciosamente. Eu teria que pesquisar mais para ter certeza, mas a maneira correta de expressar isso seria um espaço escapado com uma barra invertida ...
acl badhdr hdr_sub(X-Request-ID) -i Foo:\ Bar
... ou para colocar a expressão entre aspas ...
acl badhdr hdr_sub(X-Request-ID) -i "Foo: Bar"
Observe que _sub
não é regex - é apenas correspondência de substring. Você pode querer hdr_beg
- substring inicial.
Para um regex ancorado, incluindo o início '
(assumindo que é parte do cabeçalho, como parece ser a partir da pergunta, também precisa ser escapado), acredito que a expressão seria esta:
acl badhdr hdr_reg(X-Request-ID) -i ^\'Foo:\ Bar