올바른 실행 명령 (Cloudflare DNS + 와일드카드)

sudo certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/cloudflare.ini \
  --preferred-challenges dns-01 \
  -d dev.mandu.example.com \
  -d "*.dev.mandu.example.com"

와일드카드(*.) 인증서는 반드시 dns-01만 가능
--preferred-challenges는 선택이지만, 명시해두는 게 안전


Cloudflare credentials 파일 필수 조건

cat ~/.secrets/cloudflare.ini

내용 예시:

dns_cloudflare_api_token = CF_API_TOKEN_VALUE

권한 반드시 600 이어야 함:

chmod 600 ~/.secrets/cloudflare.ini

권한 안 맞으면 다음 에러 발생:

Unsafe permissions on credentials configuration file

플러그인 설치 확인 (중요)

certbot plugins

출력에 아래가 있어야 정상:

* dns-cloudflare

없으면 설치:

sudo apt update
sudo apt install -y python3-certbot-dns-cloudflare

성공 시 결과 위치

인증서 발급되면:

/etc/letsencrypt/live/dev.mandu.example.com/
├── fullchain.pem
├── privkey.pem

자주 하는 실수 요약

실수설명
dns-d존재하지 않는 챌린지
wildcard에 http-01불가능
cloudflare.ini 권한600 아니면 실패
API Key 사용가능하지만 API Token 권장