--- title: certbot — 인증서 발급·갱신 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: Let's Encrypt 인증서를 발급·갱신하고 자동 갱신 상태를 관리하는 도구. tags: 프로그램, 웹 서버 운영, certbot --- **💬 "certbot 명령어"** certbot은 **무료 인증서를 발급·갱신**합니다. 실무에서는 갱신 자동화 상태 확인이 핵심입니다. renew --dry-run으로 갱신이 실제로 성공할지 미리 검증합니다. - **개념**: ACME 프로토콜로 인증서를 발급/갱신합니다. - **renew**: 만료 임박 인증서를 갱신합니다. - **timer**: systemd 타이머로 자동 갱신이 돌아갑니다. - **dry-run**: 실제 갱신 없이 성공 가능성만 검증합니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | renew | 만료 임박 인증서 갱신 | | --dry-run | 실제 발급 없이 갱신 테스트 | | certificates | 관리 중인 인증서와 만료일 목록 | | --nginx / --webroot | 검증 방식(플러그인) 지정 | ## 필수 명령어 조합 3가지 - `certbot certificates` — 인증서 목록과 만료일 확인 - `certbot renew --dry-run` — 자동 갱신이 성공하는지 검증 - `systemctl list-timers | grep certbot` — 자동 갱신 타이머 확인 **💬 "이걸 알림 자동화에 연결하는 예시 알려줘"** 실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다. ### 1단계 · 인증서 현황 만료일과 대상 도메인을 확인합니다. ``` certbot certificates ``` ### 2단계 · 갱신 테스트 실제 갱신 전에 성공 가능성을 검증합니다. ``` certbot renew --dry-run ``` ### 3단계 · 타이머 확인 자동 갱신이 예약되어 있는지 봅니다. ``` systemctl list-timers certbot.timer --no-pager ``` ## 실무에서는 이렇게 씁니다 ### 1. 자동 갱신 실패 대비 **상황** — 갱신이 조용히 실패해 만료될 위험이 있습니다. ``` certbot renew --dry-run ``` **결과** — 검증 실패 시 원인(웹루트 경로, 방화벽, DNS)이 출력됩니다. **포인트** — 월 1회 dry-run을 점검 루틴에 넣습니다. ### 2. 인증서 목록 점검 **상황** — 여러 도메인 인증서 만료일을 한 번에 봐야 합니다. ``` certbot certificates | grep -E 'Certificate Name|Expiry' ``` **결과** — 이름과 만료일이 함께 출력되어 위험한 인증서를 찾습니다. **포인트** — 만료 30일 이내 인증서는 갱신 로그를 함께 확인합니다. ## 주의할 점 - dry-run도 Let's Encrypt 서버에 요청을 보내므로 과도한 반복은 제한될 수 있습니다. - 웹루트 검증은 실제 도메인 접근이 가능해야 성공합니다. - 인증서를 강제로 재발급하면 주간 발급 한도에 걸릴 수 있습니다. ## 실제 실행 화면 인증서 만료일과 자동 갱신 성공 가능성을 확인한 결과입니다. ![certbot 명령어 실행 결과: 인증서 목록과 갱신 테스트](https://games.cursorai.co.kr/assets/certbot-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/webserver/certbot.html