목차
SSL(HTTPS)을 적용해야 하는 이유
1) SSL이란
2) SSL을 사용하는 이유

SSL 실전 적용
1) 현재 배포 상황
2) SSL(HTTPS) 적용 로직
: Vercel에서는 자동으로 HTTPS가 적용되기에, EC2에 배포된 파일에 HTTPS를 적용해 보려 한다.
$ sudo apt update
$ sudo apt upgrade
$ sudo add-apt-repository ppa:certbot/certbot # Certbot을 위한 저장소 추가
$ sudo apt install python3-certbot-nginx
$ sudo vi /etc/nginx/sites-available/default
// default 파일에 추가해 줄 코드
server_name example.com www.example.com;
$ sudo nginx -t // 변경 사항이 잘 적용됐는지 확인
$ sudo service nginx reload // Nginx 재시작
$ sudo certbot --nginx -d example.com -d www.example.com
발생한 문제
: 위 진행 과정에서 domain으로 적힌 example.com에 SSL을 적용할 도메인을 입력해야 합니다.
여기에 AWS EC2 배포 시 제공하는 퍼블릭 IPv4 DNS를 사용하려고 했습니다.
그러나 진행 과정에서 EC2 DNS는 Certbot 사용을 막아 두었다는 오류 메시지를 받았습니다.
시도한 방법 및 해결 방법
// ex
- 클라이언트에서 axios.(http://~~) 요청
- 크롬에서 확인한 주소(https://~~)
도메인 발급을 완료한 후 위 과정에 있는 SSL 발급을 진행한다.
완료
느낀 점
HTTPS를 적용하는 과정에서 예상치 못한 오류를 받았습니다.
(1) 이 과정에서 Vercel에 배포된 파일은 서버와 통신할 때 자동으로 HTTPS로 보낸다는 것을 알 수 있었습니다.
(2) AWS EC2에서 제공되는 DNS에는 Certbot SSL 인증 적용이 불가능하다는 것도 알 수 있었습니다.
SSL 적용은 정해진 방법대로 적용하는 것이기에 금방 적용할 수 있을 것이라 생각했는데, 예상치 못한 오류를 받았고 이를 통해 위의 두 가지를 알 수 있게 되었습니다.
앞으로 접할 많은 오류가 있겠지만, 하나하나 적립해 나가면 좋을 것 같습니다.