Eu sinto que hdr_sub é melhor para as suas necessidades. Eu estava usando o hdr_end por um tempo, mas ele se depara com o seguinte problema:
solicitações com porta 80 geralmente obtêm a porta removida para que o cabeçalho do host se pareça com "example.com", mas se você estivesse solicitando uma porta explicitamente, como example.com:8080, o cabeçalho terá a porta e hdr_end falhará na verificação de "example.com".
O hdr_sub faz uma correspondência de substring, que parece ser mais adequada para você (e para mim).
Qualquer solução ainda tem uma coisa desagradável que eu não gosto. Avaliação dependente da ordem dos resultados.
, por exemplo, (minhas condições se parecem com isso no frontend)
acl is_dbadmin hdr_sub(host) -i dbadmin.example.com
Solicitar na porta 8080 seria assim:
Jul 9 02:48:40 localhost haproxy[8]: 192.168.1.1:55870 [09/Jul/2015:02:48:40.865] http-in example/s1 1/0/0/20/110 200 330722 - - ---- 0/0/0/0/0 0/0 {**example.com:8080**||http://example.com:} {Apache/2.4.10 (Debia||||} "GET /wp-includes/js/zxcvbn.min.js HTTP/1.1"
onde a porta 80 provavelmente seria assim
Jul 9 02:48:40 localhost haproxy[8]: 192.168.1.1:55870 [09/Jul/2015:02:48:40.865] http-in example/s1 1/0/0/20/110 200 330722 - - ---- 0/0/0/0/0 0/0 {example.com||***http://example.com***:} {Apache/2.4.10 (Debia||||} "GET /wp-includes/js/zxcvbn.min.js HTTP/1.1"