서버 A에 연결할 수 없는 경우에만 한 웹 서버 A에서 웹 서버 B로 모든 HTTP(S) 요청을 리디렉션/전달해야 합니다(중단 메시지가 표시됨). 이를 달성하기 위해 DNS 전달을 사용할 수 있습니까?
이것을 달성할 수 있는 다른 방법이 있나요?
답변1
DNS 다중 이름/라운드 로빈은 조잡한 수동 로드 밸런싱 솔루션으로 사용될 수 있지만 실제로 고가용성 솔루션을 나타내지는 않습니다. 요청을 제어하는 것은 주로 클라이언트이므로 클라이언트가 작동 중인 서버의 IP 주소를 얻는다는 보장은 전혀 없습니다.
하드웨어든 소프트웨어든 고가용성을 제공할 수 있는 다양한 솔루션이 있습니다.
Linux에서 HTTP(S) 프로토콜의 고가용성을 위한 소프트웨어 솔루션에 대해서는 다음을 확인하십시오.LVS,HA 프록시,파운드또는페인트.
세 가지 중에서 설정하기 쉬운 것은 HAProxy 또는 Pound입니다.
정의:
역방향 프록시: 클라이언트 브라우저의 요청을 하나 이상의 백엔드 서버로 전달합니다.
로드 밸런서: 세션 정보를 보존하면서 클라이언트 브라우저의 요청을 여러 백엔드 서버로 분산합니다.
SSL 래퍼: Pound는 클라이언트 브라우저의 HTTPS 요청을 해독하고 이를 일반 HTTP로 백엔드 서버에 전달합니다.
HTTP/HTTPS 새니타이저: Pound는 요청의 정확성을 확인하고 올바른 형식의 요청만 수락합니다.
장애 조치 서버: 백엔드 서버에 장애가 발생하면 Pound는 이 사실을 기록하고 복구될 때까지 요청 전달을 중지합니다.
요청 리디렉터: 요청된 URL을 기반으로 서버 간에 요청을 배포할 수 있습니다.
여기서는 트래픽이 매우 높은 서버를 나타내기 위해 파운드를 사용합니다. 이는 매우 가볍고 실행 중인 웹 서버가 없을 때 웹 페이지를 표시할 수 있을 뿐만 아니라 로드를 분산하고 SSL 협상을 처리하여 웹 소스의 리소스를 확보할 수 있습니다.
http://www.tristanwaddington.com/2009/03/emu-marketing-generate-useful-error-pages-with-pound/