Server/AWS

8. HTTPs 적용 및 SSL인증서 적용하기

seongduck 2022. 8. 13. 03:36

HTTPS 적용

Let-s Encrypt는 사용자에게 무료로 TLS 인증서를 발급해주는 비영리기관이다.

이 인증서중 완전자동화가 가능한 DV인증서를 무료로 발급한다.

1. Certbot 설치

먼저 저장소를 최신으로 업데이트하고 ceerbot을 위한 저장소를 추가하자

~$ sudo apt update
~$ sudo apt upgrade
~$ sudo add-apt-repository ppa:certbot/certbot

그리고 certbot의 nginx 패키지를 설치한다.

~$ sudo apt install python3-certbot-nginx

2. Nginx configuration 설정

설정 파일을 적용하기 위해 로드해보자

~$ sudo vi /etc/nginx/sites-available
$ sudo systemctl reload nginx

3. SSL 인증서 받기

-d 옵션으로 도메인을 지정해서 Nginx 플러그인을 통해 인증서를 획득한다.

~$ sudo certbot --nginx -d seoseong.shop -d www.seoseong.shop

자주쓰는 이메일을 입력하자 (네이버, 구글, 다음 등등..)

 

A를 눌러 관련서를 읽는다 쓴다.

 

이메일 알람 여부

 

2를 선택해서 HTTP연결을 HTPPS로 리다이렉트 하도록 한다.

 

성공!! 테스트 url도 준다. 해보자!

 

<SSL Server Test>

 

SSL Server Test (Powered by Qualys SSL Labs)

SSL Server Test This free online service performs a deep analysis of the configuration of any SSL web server on the public Internet. Please note that the information you submit here is used only to provide you the service. We don't use the domain names or

www.ssllabs.com

사이트에 들어가 본인의 도메인 주소 입력 (ex) seoseong.shop) 입력!!

 

하지만..

에러!!

연결이 되지 않는다. AWS에서 https 설정을 해줘야 한다.!!

 

유형의 HTTPS를 누르고 IP를 넣어준다. (0.0.0.0/0 = 모두, 혹은 자신의IP를 선택)

aws ec2의 설정에서 추가해주고 !!

적용하면

$ cd /etc/nginx/sites-available
$ sudo service nginx restart 

A등급으로 이 사이트는 굉장히 안전하다고 뜬다.

 

도메인주소로 들어가도 잘 접속이 된다.


Certbot 자동 갱신 확인

인증서는 90일동안 유효하므로 자동적으로 갱신시킬 필요가 있다.

설치시 ./etc/cron.d에 자동으로 설치되어 있다. 아래 코드로 확인하고

$ sudo certbot renew --dry-run

 

에러가 안뜨면 정상적으로 자동 업데이트 된다!!

$ sudo service nginx restart #적용해서 마무리해준다!