Siento que hdr_sub es mejor para tus necesidades. Estuve usando hdr_end por un tiempo pero se encuentra con el siguiente problema:
las solicitudes con el puerto 80 generalmente eliminan el puerto para que el encabezado del host se vea como "example.com", pero si estaba solicitando explícitamente un puerto, como example.com:8080, el encabezado tendrá el puerto y hdr_end fallará busque "example.com".
hdr_sub hará una coincidencia de subcadena, lo que parece mejor para usted (y para mí).
Cualquiera de las soluciones todavía tiene algo desagradable que no me gusta. Evaluación dependiente del orden de los resultados.
por ejemplo (mis condiciones se ven así en la interfaz)
acl is_dbadmin hdr_sub(host) -i dbadmin.example.com
Solicitar en el puerto 8080 sería así:
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"
donde el puerto 80 probablemente podría ser así
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"