피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Certbot-Nginx-Docker 연동을 통한 SSL 갱신 완전 자동화 구현
Guide to Automatic SSL Certificate Renewal for Nginx and Docker
AI 요약
Context
VPS 환경에서 수동으로 관리하던 SSL 인증서의 만료로 인한 서비스 중단 발생. 관리 포인트 증가에 따른 휴먼 에러 가능성과 운영 공수 최적화 필요성 대두.
Technical Solution
- Docker Compose를 활용한 Nginx와 Certbot의 컨테이너 기반 오케스트레이션 구조 설계
- Certbot의 Webroot 인증 방식을 통한 HTTP-01 챌린지 수행 및 인증서 발급 자동화
- 호스트-컨테이너 간 Shared Volume 공유를 통한 인증서 및 챌린지 파일의 데이터 일관성 유지
- Certbot의
--post-hook옵션 내nginx -s reload명령어를 삽입하여 무중단 인증서 갱신 실현 - 12시간 주기 갱신 시도 루프 구성을 통한 인증서 만료 리스크 최소화 설계
--dry-run옵션을 활용한 실제 발급 전 프로세스 검증 단계 구축
실천 포인트
- Certbot과 Nginx 간 인증서 경로 공유를 위한 Volume 매핑 설정 확인 - Nginx 설정 파일 내 `/.well-known/acme-challenge/` 경로에 대한 접근 권한 및 Root 설정 검토 - 인증서 갱신 후 Nginx 프로세스에 Reload 시그널이 정상 전달되는지 Post-hook 동작 여부 테스트 - Let's Encrypt의 Rate Limit 회피를 위해 실제 적용 전 `--dry-run` 모드로 시뮬레이션 수행