다음 구성의 HTTP 팜이 있습니다.
listen webfarm 10.254.23.225:80
mode http
balance roundrobin
cookie SERVERID insert
option httpclose
option forwardfor
option httpchk HEAD /check.txt HTTP/1.0
server webA 10.254.23.4:80 cookie A check
server webB 10.248.23.128:80 cookie B check
특정 URI (예 : / special)에 대한 모든 요청을 세 번째 웹 서버로 전달하는 옵션을 추가하고 싶습니다. 어떻게해야합니까?
답변
다음은 호스트 헤더를 기반으로로드 밸런싱에 대해 작성한 블로그 게시물입니다.
URI 또는 디렉토리와 일치 시키려면 해당 페이지에 제공된 예제에서 사용되는 hdr_end 대신 path_beg를 사용하는 것이 좋습니다. 아래는 구성에서이를 수행하는 방법의 예입니다.
frontend http-in
bind 10.254.23.225:80
acl has_special_uri path_beg /special
use_backend special_server if has_special_uri
default_backend webfarm
backend webfarm
balance roundrobin
cookie SERVERID insert
option httpchk HEAD /check.txt HTTP/1.0
option httpclose
option forwardfor
server webA 10.254.23.4:80 cookie webA check
server webB 10.248.23.128:80 cookie webB check
backend special_server
balance roundrobin
cookie SERVERID insert
option httpchk HEAD /check.txt HTTP/1.0
option httpclose
option forwardfor
server webC 10.0.0.1:80 cookie webC check
희망이 도움이됩니다!