인증서 갱신 후 Reload 자동화
인증서가 갱신되어도 Nginx가 이전 인증서를 계속 제공하는 문제를 훅으로 방지한다.
갱신 후 미반영 문제
certbot이 인증서 파일을 새로 발급받아도, nginx는 이미 읽어 들인 이전 인증서를 계속 제공한다. nginx가 설정을 다시 읽어야 새 인증서가 제공된다.
Deploy 훅
갱신에 성공한 경우에만 내부의 스크립트가 실행되는 폴더가 있다. 이 폴더에 스크립트를 배치한다.
#!/bin/bash
# 설정이 깨져 있으면 reload하지 않는다
if nginx -t >/dev/null 2>&1; then
systemctl reload nginx
else
exit 1
fi
sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/nginx-reload.sh
확인 방법
sudo certbot renew --dry-run
--dry-run에서는 deploy 훅이 실행되지 않는다. 스크립트 자체는 별도로 한 번 실행하여 확인한다.