Container/Docker

[Docker] Docker 사용하여 간단하게 Let's Encrypt 와일드카드 SSL 인증서 발급/갱신 방법

Nirsa 2021. 9. 27. 12:34
반응형
Docker 사용하여 간단하게 Let's Encrypt 와일드카드 SSL 인증서 발급/갱신 방법
Let's Encrypt 와일드 카드 SSL 인증서 발급

Docker로 간단하게 Let's Encrypt SSL 인증서 발급받는 방법 입니다. 아래 내용에서 *.yourdomain.com / youremail@google.com 부분만 자신의 도메인과 이메일 주소로 변경 합니다.

뒤의 내용은 ACME 서버 구독 동의, EFF 재단에 이메일 공유 거부의 내용 입니다.

docker run -it --rm --name certbot \
  -v '/etc/letsencrypt:/etc/letsencrypt' \
  -v '/var/lib/letsencrypt:/var/lib/letsencrypt' \
  certbot/certbot certonly -d '*.yourdomain.com' --email youremail@google.com --agree-tos --no-eff-email -d domain.com --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

 

아래는 예시 화면 입니다. "rcB~~"의 토큰을 _acme-challenge.yourdomain.com. 도메인의 TXT 레코드로 등록 해줍니다.  (토큰 값은 매번 다릅니다) 등록 후 약 2~3분이 지나고 TXT 레코드가 잘 등록 되었는지 확인 후 엔터를 눌러 진행하면 발급이 완료 됩니다.

 

Let's Encrypt 와일드 카드 SSL 인증서 갱신

Let's Encrypt 인증서의 경우 유효 기간이 90일 이며, 만료일 30일 전부터 갱신이 가능 합니다. 

docker run -it --rm --name certbot \
  -v '/etc/letsencrypt:/etc/letsencrypt' \
  -v '/var/lib/letsencrypt:/var/lib/letsencrypt' \
  certbot/certbot renew --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

 

Let's Encrypt 인증서의 유효 기간이 짧다보니, 아래와 같이 renew 스크립트 파일을 만들어 크론탭에 등록하여 자동 갱신하도록 설정하는것이 좋습니다.

cd /root
vim letsencrypt_renew.sh

#!/bin/bash
docker run -it --rm --name certbot \
  -v '/etc/letsencrypt:/etc/letsencrypt' \
  -v '/var/lib/letsencrypt:/var/lib/letsencrypt' \
  certbot/certbot renew --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

:wq

chmod 750 /root/letsencrypt_renew.sh
crontab -e

# 짝수달 3일 0시 0분에 renew 스크립트 실행
00 00 03 */2 * /root/letsencrypt_renew.sh
반응형