Certbot 인증서 자동 갱신이 정상적으로 작동하는지 검증하려면 certbot renew --dry-run 명령어를 실행하여 모의 갱신 테스트를 수행하고, 시스템에 등록된 Cron잡이나 Systemd 타이머의 활성화 상태를 확인해야 합니다. [1]
Let’s Encrypt 인증서는 90일마다 만료되므로 Certbot의 자동 갱신 기능이 백그라운드에서 오류 없이 동작하는지 주기적으로 점검하는 것이 필수적입니다 Let’s Encrypt.
1. 모의 갱신 테스트 실행 (--dry-run)
실제 인증서를 갱신하지 않고 갱신 프로세스 전체를 시뮬레이션하여 설정과 연동된 Nginx 웹 서버가 올바르게 응답하는지 검증합니다.
bash
sudo certbot renew --dry-run
코드를 사용할 때는 주의가 필요합니다.
- 성공 기준: 출력 결과 맨 하단에
The simulation was successful.메시지가 포함되면 인증서 갱신 경로와 권한 설정이 정상임을 뜻합니다. - 오류 발생 시: 80번 포트 점유 충돌이나 방화벽(
ufw, iptables) 차단 여부를 점검해야 합니다.
2. 자동 갱신 타이머/크론 상태 확인
대부분의 최신 리눅스 배포판에서는 Certbot 설치 시 시스템D(Systemd) 타이머를 통해 하루에 두 번씩 자동으로 갱신을 시도합니다.
- Systemd 타이머 상태 확인:bash
sudo systemctl status certbot.timer코드를 사용할 때는 주의가 필요합니다.(상태가active (waiting)로 표시되어야 정상적으로 대기 중인 상태입니다.) - Cron 잡 등록 여부 확인 (Systemd 타이머를 쓰지 않는 구형 시스템의 경우):bash
sudo crontab -l # 또는 /etc/cron.d/certbot 파일 존재 여부 확인 ls -l /etc/cron.d/certbot코드를 사용할 때는 주의가 필요합니다.
3. 갱신 후 Nginx 자동 리로드(Reload) 설정 검증
인증서가 갱신된 후, Nginx가 변경된 인증서를 곧바로 반영하려면 갱신 스크립트 전후로 nginx -s reload 명령어가 실행되도록 연결되어 있어야 합니다.
- Certbot의 Nginx 후처리기 설정 파일 위치 확인:bash
sudo ls -l /etc/letsencrypt/renewal-hooks/deploy/코드를 사용할 때는 주의가 필요합니다. - 갱신 성공 시 Nginx를 재시작하는 훅(Hook) 스크립트가 없다면, 수동으로
--renew-hook "systemctl reload nginx"옵션을 주거나 갱신 설정 파일에 등록할 수 있습니다.
만약 자동 갱신 검증 중 문제가 발생하거나 추가로 필요하신 작업이 있다면 말씀해 주세요:

답글 남기기