Saya merasa hdr_sub lebih baik untuk kebutuhan Anda. Saya menggunakan hdr_end untuk sementara waktu tetapi mengalami masalah berikut:
permintaan dengan port 80 biasanya membuat port dilucuti sehingga header host terlihat seperti "example.com", tetapi jika Anda meminta pada port secara eksplisit, seperti example.com:8080, header akan memiliki port, dan hdr_end akan gagal periksa "example.com".
hdr_sub akan melakukan kecocokan substring, yang sepertinya lebih cocok untuk Anda (dan saya).
Entah solusi masih memiliki hal buruk yang saya tidak suka. Evaluasi hasil tergantung pesanan.
mis. (kondisi saya terlihat seperti ini di frontend)
acl is_dbadmin hdr_sub(host) -i dbadmin.example.com
Meminta pada port 8080 akan seperti ini:
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"
dimana port 80 kemungkinan bisa seperti ini
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"