所有部署指南 部署

配置 Cloudflare 源站证书

当你使用 Cloudflare 作为 CDN/代理时,访客连接到 Cloudflare 的边缘服务器。但 Cloudflare 和你的源站服务器之间的连接呢?如果源站没有证书,该连接可能是未加密的——这就违背了 HTTPS 的意义。

Cloudflare SSL 模式详解

模式访客 → CloudflareCloudflare → 源站安全性
OffHTTPHTTP❌ 无加密
FlexibleHTTPS ✅HTTP ❌⚠️ 虚假安全感
FullHTTPS ✅HTTPS(未验证)⚠️ 已加密但不验证证书
Full (Strict)HTTPS ✅HTTPS(已验证)✅✅ 推荐

“Flexible” 模式是危险的。 你的访客看到锁头图标,但 Cloudflare→源站的连接是明文 HTTP。网络路径上的任何人都能读取流量。始终使用 Full (Strict)

使用 Let’s Encrypt 证书配置 Full (Strict)

最佳方案:在源站安装一个真正的、公开信任的证书,然后启用 Full (Strict)。

第一步:获取 Let’s Encrypt 证书

使用 GetHTTPS 为你的域名获取免费证书。你需要临时禁用 Cloudflare 代理(DNS 设置中的灰色云朵)以便 HTTP-01 验证到达你的源站,或者使用 DNS-01 验证(无论代理状态都可用)。

DNS-01 方式(无需更改代理):

  1. 在 GetHTTPS 中,选择 DNS-01 验证
  2. 在 Cloudflare DNS 中添加 _acme-challenge TXT 记录
  3. 完成验证并下载证书

HTTP-01 方式:

  1. 在 Cloudflare DNS 中,将橙色云朵 → 灰色云朵(仅 DNS)
  2. 在 GetHTTPS 中完成 HTTP-01 验证
  3. 获取证书后,重新启用橙色云朵(代理模式)

第二步:安装到源站服务器

按照正常流程将证书安装到 NginxApache

第三步:在 Cloudflare 中启用 Full (Strict)

  1. 前往 Cloudflare 控制面板 → 你的域名
  2. SSL/TLSOverview
  3. 选择 Full (Strict)

Cloudflare 现在会在连接之前验证你的源站是否拥有有效的受信任证书。

替代方案:Cloudflare Origin CA 证书

Cloudflare 提供自己的 Origin CA 证书——免费证书,仅被 Cloudflare 信任,浏览器不直接信任。

如何获取

  1. Cloudflare 控制面板 → SSL/TLSOrigin Server
  2. 点击 Create Certificate
  3. 选择密钥类型(RSA 或 ECDSA)和有效期(最长 15 年)
  4. 下载证书和私钥
  5. 安装到源站服务器

与 Let’s Encrypt 的优劣对比

Cloudflare Origin CALet’s Encrypt (通过 GetHTTPS)
被谁信任仅 Cloudflare所有浏览器(公开信任)
有效期最长 15 年90 天
需要自动续签不需要(有效期长)需要(每 60-90 天)
脱离 Cloudflare 可用
浏览器直接访问❌(显示错误)
费用免费免费

使用 Cloudflare Origin CA 的情况:你的源站始终在 Cloudflare 后面,且你希望零续签管理。

使用 Let’s Encrypt 的情况:你可能会绕过 Cloudflare(维护、迁移),需要直接访问源站,或者需要一个在任何地方都能工作的证书。

验证 Full (Strict) 是否正常工作

设置完成后,测试连接是否完全加密:

  1. Cloudflare 控制面板 → SSL/TLSOverview 应显示”Full (Strict)”
  2. 访问你的网站 → 访客应该看到 Cloudflare 的证书
  3. 直接检查源站(绕过 Cloudflare):
    curl -I --resolve yourdomain.com:443:YOUR_ORIGIN_IP https://yourdomain.com
    这应该返回一个有效的 HTTPS 响应,带有你的 Let’s Encrypt(或 Origin CA)证书。

常见问题

为什么不直接用 Flexible 模式?

Flexible 模式加密了访客→Cloudflare 的连接,但从 Cloudflare 到源站的流量是明文 HTTP。这意味着:

  • 你的 ISP、主机提供商或 Cloudflare 边缘与你服务器之间网络上的任何人都能读取所有流量
  • 你的访客看到锁头图标,以为自己是安全的,但后端连接并不安全
  • 这对登录页面、支付表单或任何敏感数据来说尤其危险

源站证书需要与域名完全匹配吗?

对于 Full (Strict) 模式,是的——源站证书必须对 Cloudflare 连接的域名有效。example.com 的 Let’s Encrypt 证书可以工作。自签名证书或其他域名的证书则不行。

可以使用通配符证书作为源站证书吗?

可以。源站上的 *.example.com 通配符证书 可以配合 Full (Strict) 用于通过 Cloudflare 代理的任何子域名。

源站证书过期会怎样?

Cloudflare 的 Full (Strict) 模式会检查证书有效性。如果你的源站证书过期,Cloudflare 无法建立安全连接,你的网站会显示 526 错误(Invalid SSL Certificate)。设置过期监控来防止这种情况。

相关文章

对比 2026-05-07
Let's Encrypt vs Cloudflare SSL:该用哪个?
Let's Encrypt 给你一张你拥有的证书。Cloudflare 作为 CDN 代理管理 SSL。从隐私、控制权和使用场景对比两种方案。
部署 2026-05-08
如何在 Nginx 上安装 SSL 证书
在 Nginx 上安装 SSL 证书的分步指南。涵盖文件上传、完整 server 块配置、TLS 最佳实践、HTTP/2、HSTS、重定向设置、测试以及 6 个常见错误的排查方法。
快速开始 2026-05-08
如何获取免费 SSL 证书(分步指南)
5 分钟从 Let's Encrypt 获取免费 SSL 证书 — 无需安装软件、无需注册账号。涵盖 4 种方法、两种验证方式、6 个平台的安装教程和故障排除。
在浏览器中获取免费 SSL 证书
无需安装,无需账号。私钥始终留在你的设备上。
获取证书