Let's Encrypt의 무료 SSL 인증서를 사용하고 있다면, 인증서의 자동 갱신 설정이 매우 중요합니다. 특히 --standalone 모드로 인증서를 발급한 경우라면, 갱신 시 주의할 점이 있습니다. 이 글에서는 certbot certonly --standalone으로 생성한 인증서를 어떻게 갱신하고, 자동화하는지 자세히 설명드립니다.
Certbot Standalone 인증서 갱신이란?
--standalone 모드는 웹 서버 없이 Certbot이 자체적으로 HTTP 서버를 띄워 인증서를 발급하는 방식입니다.
주로 DuckDNS, 공유기 DDNS, 라즈베리파이, 간단한 웹 서비스에서 사용되며, nginx나 apache와의 연동이 없는 환경에 적합합니다.
하지만 이 방식은 웹서버가 동시에 포트 80/443을 사용하면 충돌이 발생하기 때문에, 갱신 시 별도의 조치가 필요합니다.
Certbot 인증서 갱신 명령어
가장 기본적인 갱신 명령은 다음과 같습니다.
sudo certbot renew
하지만 standalone 방식은 갱신 시에도 포트 80이 열려 있어야 하고, 동시에 다른 프로세스(nginx, apache 등)가 포트를 사용하고 있어선 안 됩니다.
갱신 실패를 막는 방법
다음과 같은 방식으로 갱신 전 웹 서버를 잠시 중단하고, 갱신 후 재시작하는 것이 안전합니다.
sudo systemctl stop nginx # 또는 apache2 등
sudo certbot renew --standalone
sudo systemctl start nginx
자동 갱신 스크립트 등록하기 (Crontab)
매번 수동으로 갱신하는 것은 번거롭기 때문에, 자동화하는 것이 좋습니다.
sudo crontab -e
그리고 다음 내용을 추가하세요 (매일 새벽 2시 실행 예시):
0 2 * * * systemctl stop nginx && certbot renew --standalone && systemctl start nginx
nginx 외에 apache2 등 사용 중인 웹 서버 이름에 맞게 수정해주세요.
현재 인증서 상태 확인
인증서의 유효기간과 경로를 확인하고 싶다면 다음 명령어를 사용하세요:
sudo certbot certificates
자주 묻는 질문 (FAQ)
Q. 인증서 갱신이 안 되는 이유는?
- 포트 80이 막혀 있거나,
- 다른 서비스가 해당 포트를 점유 중이거나,
- DuckDNS 도메인이 제대로 연결되지 않았을 수 있습니다.
Q. 갱신 안 하면 어떻게 되나요?
- HTTPS 접속 시 브라우저에서 보안 경고가 뜨고, 접속이 차단될 수 있습니다.
마무리
Certbot의 standalone 모드로 인증서를 발급한 경우, 갱신 시 포트 사용에 주의해야 하며, 자동화 스크립트를 등록하여 인증서를 안정적으로 관리하는 것이 중요합니다.
라즈베리파이, NAS, 홈서버 사용자에게 특히 유용한 팁입니다.
'개발 > 기타 개발관련' 카테고리의 다른 글
OpenSSL을 이용하여 공인인증서(공동인증서) PKCS12 형식으로 변환하는 방법 (0) | 2025.04.13 |
---|---|
Windows에 OpenSSL 설치하는 방법 (GitHub 소스 빌드 기준) (0) | 2025.04.13 |