우리는 여러 제품을 제공하는 Java 응용 프로그램을 보유하고 있습니다. 제품에 기반한 행동 변화입니다.AWS ELB의 응용 프로그램 서버에 서브 도메인 전달
이 제품은 URL의 하위 도메인에 의해 정의된다
이 URL을 각각 균일 한 EC2 앱의 우리의 함대에 요청을 전달 경로 (53)를 통해 서로 다른 AWS 탄성로드 밸런서에 매핑되는https://<product1>.example.com
https://<product2>.example.com
...
서버.
따라서 https://<product1>.example.com
에는 ELB가 있으며, https://<product2>.example.com
은 다른 ELB를 가지고 있습니다. 이 두 ELBS는 동일한 Java 응용 프로그램을 사용하는 동일한 서버 세트로 트래픽을 보냅니다.
ELB가 포트 9443 및 9001을 통해 HTTPS인지 여부를 기반으로 요청하고 nginx가 포트 9001의 모든 트래픽에 대해 리디렉션을 수행합니다. 그렇지 않으면 포트 8080을 통해 Java 응용 프로그램으로 전달됩니다.
원본 URL이 Java 응용 프로그램에 도달하기 전에 원래 URL을 확인해야하므로 응답의 구성 및 동작을 결정하는 데 사용할 수 있습니다. 가장 좋은 점은 $http_referer
이지만 초기 방문 이후에도 모든 요청에 대해서만 작동합니다. 첫 번째 방문에서도 URL이 필요합니다.
다음은 Google 배포의 (매우) 대략적인 다이어그램입니다. 도움이 되었기를 바랍니다.
['$ host']에 있어야합니다 (http://nginx.org/en/docs/http/ngx_http_core_module.html#var_host) ... 찾고있는 것이 맞습니까? 또한 와일드 카드 또는 UCC (다중 SAN) SSL 인증서가 모든 추가 ELB를 불필요하게 만들 수있는 것처럼 보입니다. –