Let’s Encrypt와 Cloudflare 모두 무료 SSL을 제공하지만, 근본적으로 다른 방식으로 작동합니다. Let’s Encrypt는 소유하고 제어할 수 있는 인증서를 제공합니다. Cloudflare는 CDN 프록시의 일부로 SSL을 관리합니다 — 방문자는 서버가 아닌 Cloudflare에 연결됩니다.
빠른 비교
| Let’s Encrypt | Cloudflare SSL | |
|---|---|---|
| 얻는 것 | 어디든 설치할 수 있는 인증서 파일 | Cloudflare 프록시가 관리하는 SSL |
| 인증서 소유 | 본인 소유 | Cloudflare 소유 |
| 개인키 위치 | 서버 (또는 GetHTTPS 사용 시 브라우저) | Cloudflare 엣지 서버 |
| Cloudflare 없이 작동 | ✅ | ❌ |
| 방문자 연결 종료 지점 | 서버 | Cloudflare 엣지 |
| Cloudflare가 트래픽 확인 가능 | 아니오 | ⚠️ 예 (설계상) |
| 인증서 유효 기간 | 90일 (직접 관리) | 자동 관리 |
| 와일드카드 | ✅ (DNS-01) | ✅ |
| 비웹 서비스 (이메일, API) | ✅ | ❌ (HTTP/HTTPS 프록시 전용) |
| 원본-엣지 간 암호화 | 해당 없음 (직접 연결) | “Full (Strict)” 구성 필요 |
| 설정 복잡도 | 중간 (ACME 클라이언트 필요) | 낮음 (DNS 변경) |
| 벤더 종속 | 없음 | 떠나면 = SSL 상실 |
차이점
Let’s Encrypt: 인증서를 소유함
Visitor ←──HTTPS──→ Your Server
(your certificate, your private key)
서버가 TLS 연결을 종료합니다. 개인키, 인증서, 전체 체인을 제어합니다. 인증서는 어디서든 작동합니다 — Nginx, Apache, Node.js, 이메일 서버, 로드 밸런서, IoT 기기.
Cloudflare: 프록시 모델
Visitor ←──HTTPS──→ Cloudflare Edge ←──???──→ Your Server
(Cloudflare's cert) (may be HTTP)
Cloudflare가 방문자와 서버 사이에 위치합니다. 방문자의 암호화된 연결은 Cloudflare 엣지에서 종료됩니다. Cloudflare는 그 후 원본 서버에 별도의 연결을 만듭니다 — 설정에 따라 암호화될 수도 있고 안 될 수도 있습니다.
“Full (Strict)” 모드 — Cloudflare가 원본 서버에 유효한 인증서가 있는지 확인 (추천) “Full” 모드 — Cloudflare가 HTTPS로 원본에 연결하지만 인증서를 검증하지 않음 “Flexible” 모드 — ⚠️ Cloudflare가 평문 HTTP로 원본에 연결
“Flexible” 모드에서는 Cloudflare와 서버 간 연결이 암호화되지 않습니다 — 해당 네트워크 경로의 누구나 트래픽을 읽을 수 있습니다.
Let’s Encrypt를 사용할 때
- 직접 제어하는 종단 간 암호화를 원할 때
- 비웹 서비스 — 이메일 서버(SMTP/IMAP), CDN 뒤에 있지 않은 API, 데이터베이스 연결
- 프라이버시 중시 — 제3자가 평문으로 트래픽을 보는 것을 원하지 않을 때
- 멀티 CDN 또는 CDN 미사용 — CDN 공급업체에 관계없이 인증서 작동
- 벤더 종속 없음 — 호스팅, CDN, 아키텍처를 SSL 손실 없이 변경
Cloudflare를 사용할 때
- CDN, DDoS 보호 또는 DNS로 이미 Cloudflare를 사용 중일 때
- 인증서 관리가 전혀 필요 없기를 원할 때 — Cloudflare가 모든 것을 처리
- 인증서를 설치할 수 없는 공유 호스팅을 사용할 때
- DDoS 보호가 최우선일 때 — Cloudflare 프록시가 공격을 흡수
양쪽의 장점
많은 프로덕션 설정에서 둘 다 사용합니다:
- CDN/프록시로 Cloudflare 사용 (방문자가 Cloudflare에 연결)
- 원본 서버에 Let’s Encrypt 설치 (Cloudflare가 실제 인증서로 서버에 연결)
- Cloudflare를 “Full (Strict)” 모드로 설정
이렇게 하면 Cloudflare의 CDN 이점 및 검증된 종단 간 암호화를 모두 얻습니다. GetHTTPS를 사용하여 원본 인증서를 받으세요.
마이그레이션 시나리오
Cloudflare에서 직접 HTTPS로 전환
Cloudflare 프록시 사용을 중단하려면:
- 도메인에 대한 Let’s Encrypt 인증서를 받으세요
- 서버에 설치하세요 (Nginx, Apache)
- Cloudflare DNS에서 A/AAAA 레코드를 “Proxied” (주황색 클라우드)에서 “DNS only” (회색 클라우드)로 변경
- 이제 트래픽이 자체 인증서를 가진 서버로 직접 전달됩니다
직접 HTTPS에서 Cloudflare로 전환
기존 HTTPS 사이트에 Cloudflare를 추가하려면:
- Cloudflare에 도메인 추가
- 네임서버 업데이트
- Cloudflare가 자동으로 Universal SSL 프로비저닝
- SSL 모드를 **“Full (Strict)“**로 설정 (이미 유효한 원본 인증서 보유)
기존 Let’s Encrypt 인증서를 유지하세요 — Full (Strict) 모드의 원본 인증서 역할을 합니다.
자주 묻는 질문
Cloudflare가 “진짜” SSL 인증서를 제공하나요?
Cloudflare는 도메인에 대한 실제, 브라우저 신뢰 인증서를 발급합니다 — 하지만 여러분의 서버가 아닌 Cloudflare 인프라에 있습니다. 다운로드하거나 다른 곳에서 사용할 수 없습니다. Cloudflare 사용을 중단하면 인증서가 사라집니다. 소유할 수 있는 이식 가능한 인증서가 필요하면 Let’s Encrypt를 사용하세요.
Cloudflare SSL은 무료인가요?
네, 무료 플랜에서 제공됩니다. Cloudflare는 이를 “Universal SSL”이라 부르며 도메인과 서브도메인을 자동으로 지원합니다. 하지만 인증서 비용을 지불하는 것이 아닙니다 — 프록시 모델과 Cloudflare가 모든 트래픽을 확인하는 것을 수용하는 것입니다.
둘 다 동시에 사용할 수 있나요?
네 — Cloudflare를 사용한다면 사용해야 합니다. 원본 서버에 Let’s Encrypt 인증서를 설치하고 Cloudflare를 “Full (Strict)” 모드로 설정하세요. 이렇게 하면 원본-엣지 연결도 암호화되고 검증됩니다. 전체 설정 가이드 →
Cloudflare가 제 트래픽을 읽나요?
설계상, 그렇습니다. Cloudflare는 엣지에서 TLS를 종료합니다 — 트래픽이 그곳에서 복호화되어 캐싱, WAF 검사, DDoS 필터링에 사용된 후 원본으로 재암호화됩니다. 이는 모든 리버스 프록시가 작동하는 방식입니다. 이것이 사용 사례(법적, 컴플라이언스, 프라이버시 요구사항)에서 허용되지 않는다면 Let’s Encrypt를 사용한 직접 HTTPS를 사용하세요.
Cloudflare의 “Origin Certificates”는 무엇인가요?
Cloudflare는 Origin CA 인증서를 제공합니다 — Cloudflare만 신뢰하는 무료 인증서입니다 (브라우저가 직접 신뢰하지 않음). 최대 15년까지 유효하며 원본 연결의 갱신 번거로움을 없앱니다. 하지만 Cloudflare를 계속 사용하는 동안에만 작동합니다.