Edge 프록시 서버에서 로드 밸런서 사용
부하 분산 장치를 사용하여 에지 암호화 규칙 프록시 설정의 프록시 서버 간에 부하를 분산할 수 있습니다. 로드 밸런서와 프록시 서버가 서로 다른 포트를 사용하는 경우 로드 밸런서의 호스트 이름과 HTTPS 포트를 지정하여 사용자가 브라우저에서 응답을 볼 수 있도록 합니다.
중요사항:
모든 프로덕션 환경에는 중복성을 위해 두 개 이상의 에지 암호화 규칙 프록시 서버가 포함되어야 합니다.
부하 분산 장치 없이 에지 요청 처리
부하 분산 장치를 사용하지 않는 경우 아래 설명된 대로 요청이 처리됩니다.
- 사용자가 브라우저에서 요청을 발행합니다.
- 브라우저는 Edge 프록시 서버로 요청을 보냅니다.
- 프록시 서버는 요청을 ServiceNow 인스턴스로 보냅니다.
- ServiceNow 인스턴스가 프록시 서버에 응답을 반환합니다.
- 프록시 서버는 응답을 사용자의 브라우저에 반환하기 전에 응답 헤더에 자체 포트 번호를 추가합니다.
사용자가 응답 헤더에 지정된 포트 번호에서 프록시 서버의 응답을 볼 수 있으므로 요청이 성공적으로 완료되었습니다.
부하 분산 장치를 사용한 에지 요청 처리
그러나 로드 밸런서를 사용하는 경우 사용자의 브라우저는 프록시 서버가 아닌 로드 밸런서와 직접 통신합니다. 요청은 아래 설명된 대로 처리됩니다.
주:
다음 예에서는 프록시 서버 포트 번호로 1025 를 사용합니다.
- 사용자가 브라우저에서 요청을 발행합니다.
- 브라우저는 가상 서버라고도 하는 부하 분산 장치 가상 IP(VIP)로 요청을 보냅니다.
- VIP는 프록시 서버(예: 10.2.200.148:1025)를 가리키도록 구성되어 있으므로 로드 밸런서가 요청을 프록시 서버로 전달합니다.
- 프록시 서버는 요청을 ServiceNow 인스턴스로 보냅니다.
- ServiceNow 인스턴스가 프록시 서버에 응답을 반환합니다.
- 프록시 서버는 risk-servicenow.dev.echonet:1025 속성에 구성된 값을 사용하여 응답의 위치 헤더를 다시 씁니다.
- 호스트: edgencryption.proxy.host
- HTTP 포트: edgeencryption.proxy.http.port
- HTTPS 포트: edgeencryption.proxy.https.port
- 프록시 서버는 프록시 서버 포트를 가리키는 위치 헤더를 사용하여 로드 밸런서에 응답을 전달합니다.
결과는 부하 분산 장치와 프록시 서버가 동일한 포트를 사용하는지 여부에 따라 달라집니다.
- 로드 밸런서와 프록시 서버가 동일한 포트를 사용하는 경우 사용자가 응답 헤더에서 식별된 동일한 포트에서 응답을 수신하기 때문에 요청이 성공합니다.
- 로드 밸런서와 프록시 서버가 서로 다른 포트를 사용하는 경우 사용자의 브라우저는 로드 밸런서와만 통신하지만 응답은 프록시 서버에 있기 때문에 요청이 실패합니다.
솔루션
동일한 포트에서 부하 분산 장치 및 모든 Edge 프록시 서버를 사용하여 문제를 해결할 수 있지만 이상적인 솔루션은 아닙니다. 더 나은 솔루션은 부하 분산 장치가 사용하는 포트를 시스템에서 알 수 있도록 하는 것입니다.
다음 속성을 사용하면 프록시 서버와 로드 밸런서가 서로 다른 포트를 사용하는 경우 Edge 프록시 서버가 응답 메시지를 로드 밸런서로 다시 라우팅할 수 있습니다.
- edgeencryption.proxy.rewrite.location.host 부하 분산 장치를 통해 ServiceNow에 액세스하는 데 사용되는 호스트 이름을 지정합니다.
- edgeencryption.proxy.rewrite.location.https.port 는 부하 분산 장치를 통해 ServiceNow에 액세스하는 데 사용되는 HTTPS 포트를 지정합니다.
부하 분산 장치 구성
로드 밸런서와 프록시 서버가 서로 다른 포트를 사용하는 경우 로드 밸런서의 호스트 이름과 HTTPS 포트를 지정하여 사용자가 브라우저에서 응답을 볼 수 있도록 합니다.
시작하기 전에
- Windows 호스트의 로컬 또는 도메인 관리자
- Linux 호스트에서 전체 파일 시스템 액세스 권한이 있는 서비스 사용자
프로시저
결과
이제 사용자가 브라우저에서 응답을 볼 수 있으므로 요청을 완료할 수 있습니다.