Skip to content

SSL 인증서 생성 및 적용#

인증서 생성#

Let’s Encrypt 설치 및 인증서 생성#

Let’s Encrypt

무료 SSL 인증서 오픈소스로 3개월마다 갱신해야 한다

Let’s Encrypt 설치#

sudo apt install -y letsencrypt

인증서 생성 전 확인 사항#

인증서 생성 전 확인 사항

인증서 생성을 위해 letsencrypt가 80 포트를 통해서 인증을 시도한다. 따라서 80 포트 사용 여부를 확인하고 사용 중 이라면 종료한다

포트 사용 여부 확인#
sudo netstat -tnlp
nginx 종료#
$ sudo service nginx stop

or

$ /usr/sbin/nginx -s stop
Let’s Encrypt 인증서 생성#
sudo letsencrypt certonly --standalone -d DOMAIN

인증서 저장 위치 및 갱신 주기

  • 인증서, key 파일은 아래 위치에 저장한다
    • /etc/letsencrypt/live/DOMAIN/fullchain.pem
    • /etc/letsencrypt/live/DOMAIN/privkey.pem
  • 인증서는 3개월 주기로 갱신이 필요하다
인증서 적용#
server {
        listen 443 ssl default_server;
        listen [::]:443 ssl default_server;
        ssl_certificate /etc/letsencrypt/live/{DOMAIN}/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/{DOMAIN}/privkey.pem;
        ssl_protocols   TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_ciphers     HIGH:!aNULL:!MD5;
}
인증서 갱신#
certbot renew
인증서 목록 확인#
certbot certificates

SSL 인증서 자동 갱신 설정#

3개월마다 갱신를 해야함으로 crontab를 통해서 주기적으로 갱신하는 방법을 사용한다

인증서 만료일 확인#

certbot certificates

crontab 추가#

# Nginx restarts when the certificate renewal succeeds at 4 o'clock on the 1st of every month
0 4 1 * * /usr/bin/certbot renew --renew-hook="sudo systemctl reload nginx"

Crontab 로그 확인#

view /var/log/syslog

Reference : Let’s Encrypt


Last update: 2020년 5월 6일 16:20:51