Let's Encrypt Nginx에서 무료 SSL인증서 받는 방법

Let's Encrypt는 무료 SSL인증서를 발급해 주는데요.

 

아래 사이트에서 인증서를 발급받을 수 있습니다.

 

https://letsencrypt.org/

 

Let's Encrypt

 

letsencrypt.org

무료 SSL 인증서 발급 받기

먼저 certbot 을 설치해야 합니다.

 

certbot과 함께 python3-certbot-nginx를 같이 설치합니다.

sudo apt-get install certbot python3-certbot-nginx

이 후 

 

nginx의 설정을 해야하는데요.

 

먼저 클라우드에서 80포트를 열어주어야 합니다.

 

그리고 /etc/nginx/sites-available/default 위치의 서버 블록을 변경해주어야 합니다.

 

인증받고자하는 서버 도메인으로 변경합니다. 여기에서는 예시로 remake.com으로 변경하였습니다

server {

    listen      80;
    listen [::]:80;
    # Put your domain next to server_name
    server_name remake.com;
    charset     utf-8;

    # max upload size
    client_max_body_size 75M;   # adjust to taste


}

이 후 nginx 상태를 체크하고 다시 서비스를 재기동 합니다.

$ sudo nginx -t
$ sudo service nginx reload

이제 인증서를 발급받으면 되는데요.

 

아래의 명령어를 통해서 발급 받습니다.

 

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

저는 기존 인증서가 있어서 추가할 것인지 물어보는데요. 

 

그리고 그 다음에는 http를 https로 리다이렉트 할 것인지 물어봅니다.

 

원하는 설정으로 변경해주시면 됩니다.

 

여기까지 설정하면 자동으로 인증서가 발급됩니다.

 

무료라서 인증서가 90일이면 만료되는데요.

 

renew --dry-run 명령어로 갱신이 가능하고

 

crontab -e를 통해 크론탭에 등록하여 자동화 할 수도 있습니다

sudo certbot renew --dry-run

15 3 * * * /usr/bin/certbot renew --quiet --renew-hook "/usr/sbin/service nginx reload"

cnfcj : How To Secure Nginx with Let's Encrypt on Ubuntu 20.04 | DigitalOcean

 

How To Secure Nginx with Let's Encrypt on Ubuntu 20.04 | DigitalOcean

 

www.digitalocean.com