올바른 실행 명령 (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 권장 |