/엔지니어/클라우드/Cloudflare DNS · 프록시 · Page
클라우드초급cloudflarednscdn

Cloudflare DNS · 프록시 · Page Rules 설정 가이드

Cloudflare에 도메인을 등록하고 DNS를 설정하며, 오렌지 클라우드(프록시) 모드, Page Rules, SSL/TLS 옵션, WAF 기본 설정을 설명합니다.

Cloudflare 도메인 추가

  1. dash.cloudflare.com 로그인
  2. Add a Site → 도메인 입력
  3. 플랜 선택 (Free 플랜으로 충분)
  4. Cloudflare가 기존 DNS 레코드 자동 스캔
  5. 도메인 레지스트라에서 네임서버 변경:
CODE
Before: ns1.yourprovider.com
After:  aria.ns.cloudflare.com
        ben.ns.cloudflare.com

네임서버 반영에 최대 24시간 소요됩니다.


DNS 레코드 설정

Bash
# Cloudflare API로 레코드 관리
ZONE_ID="your_zone_id"
API_TOKEN="your_api_token"

# A 레코드 추가
curl -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
  -H "Authorization: Bearer $API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{
    "type": "A",
    "name": "example.com",
    "content": "1.2.3.4",
    "proxied": true,
    "ttl": 1
  }'

# CNAME 레코드
curl -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
  -H "Authorization: Bearer $API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{
    "type": "CNAME",
    "name": "www",
    "content": "example.com",
    "proxied": true
  }'

주요 레코드 예시

타입이름프록시
A@ (루트)서버 IP켜기
Awww서버 IP켜기
CNAMEapiapi-server.example.com켜기
MX@mail.example.com끄기
TXT@v=spf1 ...끄기

오렌지 클라우드 (프록시) 모드

  • 주황색 구름 ON: Cloudflare CDN + DDoS 보호 + 실제 서버 IP 숨김
  • 회색 구름 OFF: DNS만, 실제 IP 노출

이메일, FTP, SSH 레코드는 반드시 프록시 OFF


SSL/TLS 설정

대시보드 → SSL/TLS → 모드 선택:

모드설명권장
OffHTTP만
FlexibleCF↔사용자만 암호화, CF↔서버는 HTTP
FullCF↔서버도 암호화, 인증서 미검증조건부
Full (Strict)유효한 인증서 필요
CODE
권장: Full (Strict) + 서버에 Let's Encrypt 설치

Page Rules

대시보드 → Rules → Page Rules (무료 3개):

HTTP → HTTPS 리다이렉트

CODE
URL: http://example.com/*
Setting: Always Use HTTPS

캐시 설정

CODE
URL: example.com/static/*
Setting: Cache Level = Cache Everything
         Edge Cache TTL = 1 month

특정 경로 캐시 무시

CODE
URL: example.com/api/*
Setting: Cache Level = Bypass

WAF 기본 설정 (무료)

대시보드 → Security → WAF:

  • Security Level: Medium (기본)
  • Bot Fight Mode: ON (봇 차단)
  • Challenge Passage: 30분

IP 차단

대시보드 → Security → WAF → Tools → IP Access Rules:

CODE
Value: 203.0.113.0/24
Action: Block

Cloudflare Tunnel (내부 서버 노출)

서버 방화벽 포트 오픈 없이 HTTPS로 서비스 노출:

Bash
# cloudflared 설치
curl -L --output cloudflared.deb \
  https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.deb

# 인증 및 터널 생성
cloudflared tunnel login
cloudflared tunnel create my-tunnel
cloudflared tunnel route dns my-tunnel app.example.com

# 설정 파일
# ~/.cloudflared/config.yml
tunnel: <tunnel-id>
credentials-file: /root/.cloudflared/<tunnel-id>.json
ingress:
  - hostname: app.example.com
    service: http://localhost:3000
  - service: http_status:404

cloudflared service install
#cloudflare#dns#cdn#waf#ssl#프록시
편집 안내 · Editorial Note

이 가이드는 AI 도구를 활용해 초안을 구성하고 사람이 명령어·문맥을 검토해 발행했습니다. 운영체제와 도구 버전에 따라 결과가 달라질 수 있으므로 적용 전 공식 문서를 함께 확인하세요. 오류를 발견하시면 이메일로 제보해 주세요.

관련 공식 문서OpenSSL 공식 문서

질문 & 답변 (Q&A)

이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.