우분투 Let's Encrypt 무료 SSL 인증서 적용 방법(Nginx)

2020.03.15 14:41

우분투 18.04 서버에서 Let's Encrypt 무료 SSL 적용 하는 방법이다. Let's Encrypt는 무료로 HTTPS를 사용할 수 있게 인증서를 발급해준다. 기존에는 유료로 SSL 인증서를 구입해서 사용했지만, 이제는 무료로 사용할 수 있어서 부담이 없다.

서버에 Nginx를 사용하고 있기 때문에, Nginx에서 SSL 적용하는 방법을 알아본다. Certbot 이라는 솔루션을 이용하여 설치한다. 우분투에서는 아래의 명령어들을 차례로 입력한다.

sudo apt update

sudo apt install software-properties-common

sudo apt repository ppa:certbot/certbot

sudo apt update

sudo install python-certbot-nginx

sudo certbot --nginx

python-certbot-nginx 는 Let's Encrypt 로 무료 SSL 인증서를 쉽게 만들수 있게 해주는 패키지이다. 마지막 명령어를 입력하면 현재 nginx에 설정되어 있는 도메인들이 나오는데, SSL을 적용하고 싶은 도메인을 선택하면 된다. 그 후 HTTP 요청을 HTTPS로 리다이렉트 시킬지 물어보는데, 원한다면 2번 리다이렉트될 수 있도록 설정하면 된다.

정상적으로 완료가 되고, 무료 SSL 인증서가 발급이 됐다면 Nginx 서버 설정에 Certbot이 443포트 관련 코드를 추가한 것을 확인할 수 있다. Nginx 서비스를 Reload 해보면 HTTPS로 접속이 되는 것을 볼 수 있다.

마지막으로 Let's Encrypt에서 발급해준 무료 SSL 인증서는 90일 후에 만료 되기 때문에 주기적으로 SSL 인증서 갱신을 해줘야 한다. 수동으로 하면 불편하니까 주기적으로 SSL 인증서 갱신이 될 수 있도록 crontab에 추가한다. 아래의 명령어를 입력한다.

sudo crontab -e

0 0 * * * /usr/bin/certbot renew --quiet

위의 명령어는 매일 0시 0분에 certbot renew 명령어를 수행하도록 만든 코드이다. 기간은 각자 원하는 주기대로 설정하면 된다.

서버 관련 글

더보기