HAProxy는 인스턴스를 종료하기 위해 들어오는 요청을 전달해서는 안 됩니다.

HAProxy는 인스턴스를 종료하기 위해 들어오는 요청을 전달해서는 안 됩니다.

내 시나리오에는 HAProxy와 통신하는 2개의 서버가 있습니다. 요청이 들어오면 HAProxy는 요청을 분할하여 라운드 로빈 방식으로 두 서버 모두에 보냅니다. 어쨌든, 첫 번째 인스턴스가 실패하면 그 시점에서 HAProxy는 서버 중 하나가 실패했음을 알아야 하며 해당 서버로 요청을 전달해서는 안 됩니다. 각 요청에 대해서만 다른 서버와 통신해야 합니다.

위 시나리오에 대해 HAProxy를 구성하는 방법을 알려주실 수 있나요?

답변1

나는 이 튜토리얼이 바로 당신이 찾고 있는 것이라고 믿습니다. 튜토리얼의 제목은 다음과 같습니다.Debian Lenny에서 HAProxy/Heartbeat를 사용하여 고가용성 로드 밸런서(장애 조치 및 세션 지원 포함) 설정.

일반적으로 /etc/haproxy.cfg 파일은 다음과 유사합니다.

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        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 webfarm 192.168.0.99:80
       mode http
       stats enable
       stats auth someuser:somepassword
       balance roundrobin
       cookie JSESSIONID prefix
       option httpclose
       option forwardfor
       option httpchk HEAD /check.txt HTTP/1.0
       server webA 192.168.0.102:80 cookie A check
       server webB 192.168.0.103:80 cookie B check

이 파일을 재구성하고 프런트엔드 웹팜 IP 주소를 귀하의 것으로 변경해야 합니다. 또한 서버 연결을 내부 백엔드 서버의 IP 주소로 리디렉션해야 합니다.

관련 정보