핵심 요약
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