현재 진행하는 프로젝트에서 토큰을 쿠키에 담아서 보내주고 있는데 옵션에 SameSite=None, Secure=true를 설정해야합니다. 그러기 위해서는 HTTP 통신에서 HTTPS 통신으로 변경을 적용해야 하므로 HTTPS를 적용하는 과정을 정리해보겠습니다.
가정 먼저 HTTPS 통신을 위한 인증서를 발급받아야 합니다. 인증서는 AWS Certificate Manager
에서 발급을 받을 수 있습니다.
인증서 유형은 퍼블릭으로 하고 도메인 이름은 생성한 도메인 이름을 작성하고 생성을 진행하면 됩니다.
생성이 완료되면 다음 화면을 확인할 수 있습니다. 해당 화면에서 Route 53에서 레코드 생성을 클릭하고 Route 53에 있는 도메인을 선택한 후에 레코드 생성을 클릭하면 됩니다.
인증서 발급이 완료되면 인증서 상태에 발급됨을 확인할 수 있습니다.
다음으로는 로드밸런서를 사용하기 위해 대상 그룹을 설정해야 합니다.
먼저 기본 구성은 인스턴스 유형을 선택합니다.
다음으로는 대상 그룹 이름을 설정하고 바라보고 있는 인스턴스의 포트를 입력합니다.
상태 검사는 현재 바라보고 있는 인스턴스가 잘 작동하고 있는지 체크하는 기능입니다. 체크를 할때 어떤 프로토콜로 무슨 경로로 체크를 할 지 작성하면 됩니다.
다음은 상태 검사를 하는 기준을 설정해야 합니다.
마지막으로 인스턴스를 선택하고 포트를 입력한 후에 아래에 보류 중인 것으로 포함을 클릭하고 생성을 하면 대상 그룹이 만들어집니다.
다음으로는 로드 밸런서를 생성해보겠습니다. 세 가지 유형이 있는데 여기서 Application Load Balancer를 생성하면 됩니다.
가장 먼저 로드 밸런서 이름을 입력을 합니다.
네트워크 매핑의 경우 최소 2개 이상을 선택해야 하는데 무조건 바라보는 인스턴스의 가용 범위가 선택이 되어야합니다.
보안 그룹 또한 설정을 해야하는데 HTTP, HTTPS를 포함시켜주어야 합니다.
리스너 및 라우팅은 HTTP, HTTPS로 설정을 하고 기본 작업의 대상을 아까 생성한 대상 그룹으로 지정합니다.
보안 리스너 설정은 처음에 생성한 인증서를 선택하고 생성을 하면 됩니다.
마지막으로 이전에 생성한 호스팅 영역에 레코드를 수정해야 합니다. 기존에 A 유형의 레코드 값이 인스턴스의 퍼블릭 IPv4 주소였는데 다음과 같이 로드 밸러서로 변경해줍니다.
마지막으로 HTTP로 요청을 했을 때 HTTPS로 리다이렉션 처리를 적용해보겠습니다.
로드 밸런서의 HTTP:80의 리스너 규칙을 선택하고 규칙 편집을 선택합니다.
그리고 다음과 같은 화면에서 URL로 리다이렉션을 선택하고 전체 URL을 선택하면 리다이렉션 설정이 끝났습니다.
HTTPS 통신이 적용되어 있으며 HTTP로 통신 시 자동으로 HTTPS로 리다이렉션 되는 것을 확인할 수 있습니다.