hdr_sub 가 귀하의 요구에 더 적합 하다고 생각 합니다. hdr_end를 잠시 사용했지만 다음 문제가 발생합니다.
포트 80이있는 요청은 일반적으로 포트가 제거되어 호스트 헤더가 "example.com"처럼 보이지만 example.com:8080과 같이 포트에서 명시 적으로 요청하는 경우 헤더에 포트가 있으며 hdr_end는 실패합니다. "example.com"을 확인하십시오.
hdr_sub는 당신과 나에게 더 적합한 것처럼 보이는 하위 문자열 일치를 수행합니다.
어느 솔루션이든 여전히 내가 싫어하는 불쾌한 것을 가지고 있습니다. 결과의 순서에 따른 평가.
예 : (내 조건은 프론트 엔드에서 다음과 같습니다)
acl is_dbadmin hdr_sub(host) -i dbadmin.example.com
포트 8080에서 요청하는 방법은 다음과 같습니다.
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"
포트 80이 이처럼 될 수있는 곳
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"