ACME 자동 인증서 갱신 검증 시간 초과?

Donghyun Choi 20 평판 포인트
2026-09-22T06:38:40.78+00:00

방화벽의 인바운드 80번 포트 차단으로 인해 HTTP-01 방식을 통한 Let's Encrypt 자동 갱신에 실패하고 있습니다. ACME 클라이언트 검증 방식을 DNS-01 API 연동으로 전환해야 합니다. DNS 제공업체의 API 인증 정보를 설정하고 자동 갱신 후크(hook)를 업데이트하기 위한 권장 워크플로는 무엇인가요?

비즈니스용 Windows | Windows 365 Enterprise
댓글 0개 설명 없음

답변 1개

정렬 기준: 최신순
  1. Harry Phan 33,720 평판 포인트 독립 자문가
    2026-09-22T07:27:11.7066667+00:00

    안녕하세요,

    DNS-01 방식으로 전환하려면 우선 사용하는 ACME 클라이언트가 DNS API 연동을 지원해야 합니다. 예를 들어 certbot, acme.sh, lego 같은 클라이언트는 주요 DNS 제공업체의 API 플러그인을 제공합니다. 워크플로는 크게 두 단계로 나뉩니다. 첫째, DNS 제공업체의 API 인증 정보를 안전하게 저장하고 클라이언트 설정에 반영해야 합니다. 예를 들어 Cloudflare라면 CF_API_EMAIL과 CF_API_KEY 환경 변수를 시스템에 등록하거나, Route53이라면 IAM 권한을 가진 Access Key/Secret Key를 설정합니다. 둘째, ACME 클라이언트의 갱신 훅(hook) 또는 deploy script를 수정하여 인증서 갱신 시 자동으로 _acme-challenge TXT 레코드를 생성·검증·삭제하도록 해야 합니다.

    실제 권장 워크플로는 다음과 같습니다. 먼저 기존 HTTP-01 설정을 제거하고, 클라이언트 실행 시 --preferred-challenges dns 또는 해당 DNS 플러그인 옵션을 지정합니다. 이후 DNS API 자격 증명을 환경 변수나 별도 설정 파일에 저장합니다. certbot의 경우 certbot certonly --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini 와 같이 호출하며, acme.sh는 acme.sh --issue -d example.com --dns dns_cf 형태로 사용합니다. 자동 갱신은 systemd timer 또는 cron에 의해 실행되므로, hook 스크립트는 인증서 갱신 후 웹 서버(Nginx, Apache 등)를 reload하도록 구성합니다. 중요한 점은 API 인증 정보 파일의 권한을 600으로 제한해 보안 노출을 막는 것입니다.

    이렇게 구성하면 방화벽에서 80 포트를 열지 않아도 DNS-01 검증을 통해 인증서가 정상적으로 갱신됩니다. 추가적으로, DNS 제공업체가 API 호출 지연을 가질 수 있으므로 --dns-propagation-seconds 같은 옵션을 적절히 설정해 TXT 레코드가 전파될 시간을 확보하는 것이 안정적인 운영에 도움이 됩니다.여기서 유용한 정보를 얻으셨기를 바랍니다. 이 내용이 문제에 대한 통찰을 얻는 데 도움이 되었다면 답변을 채택해 주시면 감사하겠습니다. 추가로 궁금한 점이 있으시면 언제든지 메시지를 남겨 주세요. 좋은 하루 보내세요!

    HP.

    이 대답이 도움이 되었나요?

    댓글 0개 설명 없음

답변

질문 작성자는 답변을 '승인됨'으로 표시하고, 중재자는 답변을 '추천됨'으로 표시할 수 있습니다. 이를 통해 사용자는 해당 답변이 작성자의 문제를 해결했다는 것을 알 수 있습니다.