본문 바로가기
카테고리 없음

EC2에 배포한 프로젝트 https 적용하기 - (간단 & 3분만에 적용)

by 지식을 쌓는 개구리 2024. 8. 1.

 

여는 글

이 글은 이전 도메인 구매 & 적용에 이어서 https적용까지 이어지는 글이다.https만 적용할 목적이라면 이 글을 쭉 따라가면 된다. 혹여나 도메인 구매나 적용을 하지 못했다면 아래 글을 통해 도메인 적용을 완료하고이 글을 따라 https적용을 진행하길 바란다.

https://choiet.tistory.com/55

 

EC2 서비스에 도메인 등록하기 - 도메인 구매 & 적용까지

여는 글1년 전에 프로젝트를 진행하면서 정리해야지,, 했던 도메인 등록과 구매 & 적용과정을 이제서야 블로그 포스팅으로 정리한다.해당 글을 따라가면 AWS Route53 서비스에서 도메인 구매부터 ec

choiet.tistory.com

 

 

간단히 배경지식을 설명하자면 HTTPS(HTTP Secure)는 웹사이트와 사용자의 웹 브라우저 사이에 전송되는 데이터를 암호화하여 보안성을 높이는 프로토콜이다. 이걸 적용함으로써 사용자는 안전하게 웹사이트를 이용할 수 있고 웹사이트는 사용자 데이터를 보호할 수 있는 것.

우리는 https 적용을 위해 Let's Encrypt와 Certbot을 이용하여 Nginx 서버에 HTTPS를 적용하는 방법을 진행하고 & 인증서 발급을 무료로 자동화하는 단계까지 적용해 서비스 운영에 더 이상 신경 쓸 필요 없이 관리가능하게 진행할 것이다.

 

아래 순서를 따라 진행해보자!

 

Let's Encrypt와 Certbot을 이용한 HTTPS 설정

1. 서버 업데이트 및 Certbot 설치

서버의 패키지를 최신 상태로 업데이트하고 Certbot과 Nginx 플러그인을 설치하는 과정이다.

Certbot은 Let's Encrypt에서 제공하는 인증서를 자동으로 발급받고 갱신해 주는 도구이다.

sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx

=> 다음 명령어를 실행시켜 주자

=> 중간에 [Y/n] 나오는데 Y입력하면 된다.

=> 다음 화면에서도 엔터

 

2. Certbot을 이용한 인증서 발급 및 Nginx 설정

sudo certbot --nginx -d preprintreserve.com -d www.preprintreserve.com

=> 이제 Certbot을 사용하여 인증서를 발급받고, Nginx 설정 파일을 자동으로 수정하여 HTTPS를 적용하는 과정이다. -d 뒤에 나오는 도메인들은 여러 개를 위와 같이 적어서 발급받을 수 있다. -> 해당 도메인에 대해서 인증서를 발급받는 것

=> 본인의 도메인을 입력해서 진행하자. 필자는 "preprintreserve.com"이라는 도메인으로 진행했다.

 

[진행과정]

=> 인증서 발급 과정에서 이메일 주소와 이용 약관 동의를 요청하는 단계이기에 계속 Y를 입력하면 된다.

=> 그럼 위와 같이 성공적으로 도메인이 등록되었다는 입력창이 뜨게 된다.

 

3. 인증서 자동 갱신 설정

Let's Encrypt에서 발급한 인증서는 90일 동안 유효하다. 따라서 인증서를 자동으로 갱신할 수 있도록 설정하는 과정을 진행할 것이다.

-> Certbot은 기본적으로 인증서 갱신을 자동화하는 기능을 제공한다.

sudo certbot renew --dry-run

=> 다음의 명령어로.. 자동화 설정

=> 다음과 같이 화면이 뜨면 성공

=> 별도의 설정이 필요하지 않으며 앞으로 인증서 만료 전에 자동으로 갱신된다.

 

4. 인바운드 규칙 https 추가

=> 마지막으로 https로 접근 허용을 위해 다음과 같이 EC2에 인바운드 규칙 편집에서 https 선택, 0.0.0.0/0 선택으로 규칙 추가를 해주자.

 

sudo nginx -t

sudo systemctl restart nginx

=> sudo nginx -t 로 성공 문구가 뜨면 잘 된 것이고, 엔진엑스를 재시작해주면

 

결과

=> 다음과 같이 성공적으로 https 적용이 된 것을 볼 수 있다!!