Application Load Balancer 리스너 규칙을 사용하여 HTTP 요청을 HTTPS로 리디렉션하려고 합니다.
해결 방법
로드 밸런서 버전 확인
- Amazon Elastic Compute Cloud(Amazon EC2) 콘솔을 엽니다.
- 사이드바의 로드 밸런싱에서 로드 밸런서를 선택합니다.
- 리스너 규칙을 만들 로드 밸런서를 찾습니다. 유형 열 아래에 어떤 버전이 나열되어 있는지 확인합니다: 애플리케이션, 클래식, 네트워크 또는 게이트웨이.
다음 단계는 Application Load Balancer에만 적용됩니다. Classic Load Balancer를 사용하는 경우, Classic Load Balancer에서 HTTP 트래픽을 HTTPS로 리디렉션하려면 어떻게 해야 하나요?를 참조하세요.
참고: 아래 단계를 수행하기 전에 대상 그룹을 만들어야 합니다.
HTTP 요청을 HTTPS로 리디렉션하는 HTTP 리스너 규칙 만들기
- Amazon EC2 콘솔을 엽니다.
- 사이드바의 로드 밸런싱에서 로드 밸런서를 선택합니다.
- 로드 밸런서를 선택한 다음, 리스너, 리스너 추가를 선택합니다. 참고: 이미 HTTP 리스너가 있는 경우 6단계로 건너뜁니다.
- 프로토콜: 포트의 경우 HTTP를 선택합니다. 기본 포트를 유지하거나 사용자 지정 포트를 지정할 수 있습니다.
- 기본 동작에 작업 추가, 리디렉션을 선택한 다음 포트 443을 입력합니다(또는 기본값을 사용하지 않는 경우 다른 포트를 입력합니다). 자세한 내용은 규칙 동작 유형을 참조하세요. 저장하려면, 체크 표시 아이콘을 선택합니다. 참고: 이 작업 세트의 3~5단계에 따라 새 HTTP 수신기를 만든 경우, HTTPS 수신기 만들기로 건너뛰세요.
- 로드 밸런서를 선택한 다음, HTTP 리스너를 선택합니다.
- 규칙에서 규칙 보기/편집을 선택합니다.
- 규칙 편집을 선택하여 모든 HTTP 요청을 HTTPS로 리디렉션하도록 기존 기본 규칙을 수정합니다. 또는 사용 사례에 적합한 경우 기존 규칙 사이에 규칙을 삽입합니다.
- 다음에서 기존 조건을 삭제합니다. 그런 다음, 리디렉션 대상 액션으로 새 조건을 추가합니다.
- HTTPS에 443 포트를 입력합니다.
- 나머지 옵션은 기본값을 유지합니다.
참고: URL 또는 반환 코드를 변경하려는 경우, 필요에 따라 이러한 옵션을 수정할 수 있습니다.
- 저장하려면, 체크 표시 아이콘을 선택합니다.
HTTPS 리스너 만들기
참고: 각 대상 그룹에 요청을 전달하는 규칙이 있는 HTTPS 수신기가 이미 있는 경우, Application Load Balancer의 보안 그룹이 443에서 트래픽을 허용하는지 확인으로 건너뜁니다.
- 리스너, 리스너 추가를 선택합니다.
- 프로토콜: 포트의 경우 HTTPS를 선택합니다. 기본 포트를 유지하거나 사용자 지정 포트를 지정합니다.
- 기본 동작에 대해 작업 추가, 전달 대상을 선택합니다.
- 애플리케이션 인스턴스를 호스팅하는 대상 그룹을 선택합니다.
- 구성에 가장 적합한 미리 정의된 보안 정책을 선택합니다.
- 기본 보안 인증서를 선택합니다. (보안 인증서가 없는 경우, 보안 인증서 만들기를 선택합니다.)
- 저장을 선택합니다.
Application Load Balancer의 보안 그룹이 443에 대한 트래픽을 허용하는지 확인
- 로드 밸런서의 설명을 선택합니다.
- 보안에서 보안 그룹 ID를 선택합니다.
- 인바운드 규칙을 확인합니다. 보안 그룹에는 HTTP 및 HTTPS의 트래픽을 허용하는 인바운드 규칙이 있어야 합니다. 인바운드 규칙이 없는 경우, 다음 단계를 완료하여 규칙을 추가합니다.
인바운드 규칙을 추가하려면(아직 없는 경우) 다음을 따릅니다.
- 작업, 인바운드 규칙 편집을 선택하여 보안 그룹을 수정합니다.
- 규칙 추가를 선택합니다.
- 유형에 대해 HTTPS를 선택합니다.
- 소스에 대해 사용자 지정을 선택합니다(0.0.0.0/0 또는 소스 CIDR을 선택합니다).
- 저장을 선택합니다.