← 전체 글로 돌아가기

서버 운영

Nginx 인증서 갱신 뒤 443이 열리지 않았을 때 먼저 확인한 경로

인증서 갱신 성공 뒤 HTTPS가 열리지 않아 실제 경로를 대조한 기록.

성공 메시지와 서비스 상태는 달랐다

만료 알림 뒤 certbot renew를 실행했을 때 출력은 성공이었다. 그런데 브라우저는 HTTPS 연결을 거부했다. 방화벽을 먼저 건드릴 뻔했지만 nginx -t에서 설정이 예전에 복사한 다른 인증서 경로를 참조한다는 것을 확인했다. 발급, 파일 경로, 웹 서버 반영은 따로 점검해야 한다.

Nginx가 읽는 파일 확인

sudo nginx -t
sudo nginx -T | grep -E 'ssl_certificate(_key)?'
sudo certbot certificates

nginx -Tssl_certificate와 certbot의 Certificate Path가 같은 쌍인지 비교했다. 내 서버에서는 새 인증서가 turin.my-0001에 있었는데 설정은 이전 디렉터리를 가리켰다. 경로를 고친 뒤에는 반드시 문법 검사부터 한다.

sudo nginx -t && sudo systemctl reload nginx
curl -Iv https://blog.turin.my

처음에는 restart를 하려 했지만, reload 전에 검사를 붙이면 오타로 실행 중인 서버를 끊을 위험이 작다.

다음 갱신 전 체크

  • certbot renew --dry-run을 한 번 실행한다.
  • 인증서 별칭과 Nginx 경로를 같이 기록한다.
  • reload 뒤 실제 도메인 TLS 연결을 확인한다.
  • 만료 알림은 일주일 이상 앞서 받는다.

인증서 문제를 certbot 하나의 문제로 보지 않으니 확인 순서가 명확해졌다.