본문 바로가기
Infra2026년 6월 17일2분 읽기

Let's Encrypt 인증서 자동 갱신, 만료로 사이트 죽이지 않기

YS
김영삼
조회 67
Let's Encrypt 인증서 자동 갱신, 만료로 사이트 죽이지 않기

핵심 요약

Let's Encrypt 인증서는 90일이라 자동 갱신이 필수다. certbot은 보통 systemd 타이머/cron으로 하루 두 번 갱신을 시도하고, 만료 30일 전부터 실제 갱신한다. 갱신 후 웹서버 reload가 빠지면 옛 인증서를 계속 들고 있어 만료 사고가 난다.

1. 동작 확인

systemctl list-timers | grep certbot   # 타이머 살아있나
certbot renew --dry-run                 # 갱신 리허설(실패 미리 발견)
certbot certificates                    # 만료일 확인

2. reload 연결

  • certbot의 --deploy-hook "systemctl reload nginx"로 갱신 시 자동 reload
  • 또는 renew 설정의 deploy hook 디렉토리에 스크립트

3. 함정

  • 갱신은 됐는데 reload를 안 해 옛 인증서가 서빙 — deploy-hook 필수
  • HTTP-01 검증은 80포트가 외부에 열려 있어야 한다(방화벽 확인)
  • rate limit — dry-run으로 점검하고 실제 갱신 남발 금지

자주 묻는 질문

자동 갱신이 되는데 왜 만료됐나요?

갱신은 됐지만 웹서버가 reload되지 않아 메모리에 옛 인증서가 남은 경우가 흔합니다. deploy-hook으로 reload를 연결하세요.

갱신이 잘 되는지 미리 확인할 수 있나요?

certbot renew --dry-run으로 실제 갱신 없이 전체 과정을 리허설할 수 있습니다. 실패 원인을 만료 전에 발견하세요.

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록