저는 HAProxy가 다양한 다른 포트에서 수신 대기하는 여러 앱 서버를 설정하여 초기에 성공했습니다.
이제 한 포트에서 수신 대기하는 또 다른 웹 서버가 있고 호스트 이름별로 트래픽이 흐르도록 내 구성을 어떻게 변경해야 하는지 알고 싶습니다.
현재 설정은 다음과 같습니다.
- 내 아파치 웹서버가 examplecom:8001에서 실행 중입니다.
- 내 앱 서버 0.0.0.0:8081, 0.0.0.0:8082 , 0.0.0.0:8083
global log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 4096 debug #quiet #user haproxy #group haproxy defaults log global mode http option httplog option dontlognull retries 3 redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen appservers 0.0.0.0:80 mode http balance roundrobin option httpclose option forwardfor #option httpchk HEAD /check.txt HTTP/1.0 server inst1 0.0.0.0:8081 cookie server01 check inter 2000 fall 3 server inst2 0.0.0.0:8082 cookie server02 check inter 2000 fall 3 server inst3 0.0.0.0:8083 cookie server01 check inter 2000 fall 3 server inst4 0.0.0.0:8084 cookie server02 check inter 2000 fall 3 capture cookie vgnvisitor= len 32
(^ 설정에 대한 다른 의견도 환영합니다.)
이제 위와 동일한 작업을 계속하고 싶지만 추가로 호스트 이름이 myspecialtopleveldomain<dot>com인 경우 트래픽을 example<dot>com:8001로 전달하고 싶습니다.
~B
답변1
예는 다음과 같습니다.
frontend http
bind 0.0.0.0:80
default_backend www
# NAT static host names and static paths in other hostnames to a different backend
acl host_static hdr_beg(host) -i static.
acl url_static path_beg /static
use_backend static if host_static or url_static
backend www
balance roundrobin
server qa1 10.177.1.81:80
server qa2 10.177.1.45:80
backend static
balance roundrobin
server media1 10.177.0.86:80