AWS EC2 Ubuntu에서 Nginx의 HTTPS 세팅

1. ToDo

- AWS EC2로 만든 Ubuntu 서버에서 Nginx를 이용해 HTTPS 세팅을 해보자.


2. How To Do??

[작업하게된 EC2 Ubuntu 버전은 20.04이다.]
[외부 인증서 등록 위주로 정리]

[1] 인증서가 필요해!

- 인증서를 발급 받는 방법은 Certbot을 통한 무료 인증서를 Nginx에 등록하는 것과 외부 인증서를 구매해서 Nginx에 등록해주는 것으로 두 가지 정도를 정리해 볼 것이다.
  • Nginx 설치 : sudo apt install nginx -y

1) Let’s Encrypt SSL Certbot을 이용한 등록
[Ubuntu Command를 통한 인증서 등록]

  • sudo apt install software-properties-common
  • sudo add-apt-repository ppa:certbot/certbot
  • sudo apt update
  • sudo apt install certbot python3-certbot-nginx -y
  • sudo certbot --nginx -d [DOMAIN]

2) 외부 인증서를 이용한 등록(sslcert에서 다운받은 인증서 기준)

  • 별도로 구매한 인증서 다운로드.
  • Crt 파일 만들기 : cat [~.crt.pem]파일 [(CA Chain)~.pem]파일 > [DOMAIN].crt
  • 인증서의 위치는 [/etc/nginx/]경로에 ssl 폴더를 만들었다.
  • [/etc/nginx/]경로에 [DOMAIN].crt파일과 [개인키].key파일 붙혀넣기

[2] Nginx 설정을 해보자!

설정할 파일 경로 : /etc/nginx/sites-available/default

1) Certbot을 이용한 등록

  • certbot으로 인증서를 받은 경우 sudo certbot --nginx -d [DOMAIN] 명령어 도중에 선택화면이 나오고 설정에 따라 리다이렉트 설정을 해준다.

2) 외부 인증서를 이용한 등록(sslcert에서 다운받은 인증서 기준)

  • 직접 파일에 아래 코드 따로 추가하기
  server  {
    ssl on;
    listen 443;
    listen [::]:443;
    server_name [DOMAIN];
    ssl_certificate /etc/nginx/ssl/[DOMAIN].crt;
    ssl_certificate_key /etc/nginx/ssl/[개인키].key;
    location / {
    	[필요한 부가적인 설정 등등]
  	}
}
  • 참고 : 보통

[3] 접속테스트 해보자!

좋은 웹페이지 즐겨찾기