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