Backend/DevOps

AWS CloudFront, SSL 설정하기 및 주의점

mopil 2023. 1. 6. 00:18
반응형

스프링 부트 서버에 HTTPS를 달아야 해서 그 과정에서 삽질했던 것들을 기록하고 공유하고자 한다.

 

우선 AWS EC2에 HTTPS를 설정하는 방법은 1. certbot로 설정하는 방법 2. AWS CloudFront로 하는 방법 두 가지가 존재하는데, 개인적으로 certbot이 더 쉽지만 이번에는 AWS CloudFront를 사용해본다.

 

# SSL 설정 방법

구체적인 설정 방법은 다음 동영상을 따라한다.

https://www.youtube.com/watch?v=WS2n8mkrFaY

 

위 방법대로 생성하고 몇 가지 추가적으로 수정해야 할 요소들을 정리한다.

SSL 설정을 했는데, 잘되던 프론트와의 통신에 문제가 생긴다면 백에서 조치할 사항들을 정리한다.

 

내가 겪었던 오류들은 Authorization 헤더가 안 넘어오거나, CORS 오류였다.

 

우선, 이미 생성된 배포를 편집하는 방법은 동작 탭으로 들어가면 할 수 있다. (따로 비활성 하지 않고 바로 할 수 있다.)

 

# POST, PUT, DELETE 메소드 허용하기

메소드를 허용해주자. 이를 안 해주면 GET 메소드 이외는 모두 403으로 뜬다.

 

# 헤더에 Authorization 추가하기 (JWT를 오리진으로 전달)

헤더 설정을 해주지 않으면 헤더값을 오리진으로 보내지 않는다. 따라서 보낼 헤더를 골라서 설정해준다.

캐시 부분을 위처럼 수정해 준다. 이러면 오리진으로 JWT 헤더값을 보낼 수 있게 된다.

 

# CORS 설정

CORS 에러가 난다면 헤더를 모두 수락해주면 해결 된다. (보안상으론 분명 문제가 있겠지만...)

 

# 쿼리 스트링이 안 넘어올 경우

해당 옵션을 모두로 체크했는지 확인한다.

반응형