피드로 돌아가기
cert-manager + Cloudflare DNS-01: Automated TLS for Everything
Dev.toDev.to
Infrastructure

Cloudflare DNS-01 기반 TLS 자동화 구현 및 403 Forbidden 트러블슈팅

cert-manager + Cloudflare DNS-01: Automated TLS for Everything

Guatu2026년 4월 24일8intermediate

Context

Bare Metal 및 Homelab 환경 내 Ingress 및 내부 서비스의 보안 강화를 위한 TLS 적용 필요성 증대. cert-manager와 Cloudflare DNS-01 결합을 통한 인증서 발급 자동화 시도 중 API 권한 및 설정 오류로 인한 인증 실패 발생.

Technical Solution

  • DNS-01 Challenge 방식을 통한 외부 노출 없이 와일드카드 인증서 발급 및 갱신 구조 설계
  • Cloudflare API Token에 Zone:Read 및 DNS:Edit 권한을 최소 범위로 할당하여 보안성 확보
  • Domain 등록 이메일이 아닌 Cloudflare 계정 이메일을 ClusterIssuer에 설정하여 인증 403 Forbidden 오류 해결
  • Kubernetes Secret을 통한 API Token 관리 및 GitOps 환경 대응을 위한 SealedSecrets 도입 검토
  • cert-manager v1.14.0 버전 채택을 통한 DNS01 Provider의 엄격한 유효성 검증 및 디버깅 가시성 확보
  • Dynamic IP 환경 대응을 위한 CronJob 기반 DDNS 업데이트 메커니즘 구축으로 인증서 갱신 안정성 유지

1. Cloudflare API Token 생성 시 Zone별 최소 권한(Zone:Read, DNS:Edit) 설정 여부 확인

2. ClusterIssuer 설정 시 도메인 등록 메일이 아닌 Cloudflare 계정 메일 주소 사용 여부 검토

3. cert-manager v

1.13 이상 최신 버전 사용을 통한 에러 메시지 명확성 확보

4. Dynamic IP 환경일 경우 A 레코드 갱신을 위한 DDNS 자동화 프로세스 구축

원문 읽기