为什么在 Cloudflare 上设置通用 SSL 很重要?
对于网站管理员、DevOps 工程师以及使用 VPS 或云服务器的用户来说,正确配置最终用户、Cloudflare Edge 和源服务器之间的 SSL 连接至关重要。选择错误的 SSL 模式或证书处理不当会导致 HTTPS 错误、重定向循环,甚至降低连接安全性。.
什么是通用SSL?它是如何工作的?
Universal SSL 是 Cloudflare 的一项服务,它会在 Cloudflare 边缘为使用 Cloudflare CDN/代理的域名颁发并安装免费的自动 TLS/SSL 证书。该证书会对最终用户与 Cloudflare 边缘服务器之间的通信进行加密,但 Cloudflare 与源服务器之间的加密需要单独配置。.
SSL模式
Cloudflare 控制面板中可选择的主要模式有:
- 离开: 用户与 Cloudflare 之间不进行 HTTPS 加密。.
- 灵活的: 用户到 Cloudflare 的连接是加密的,但 Cloudflare 到源站的连接是通过 HTTP 建立的(未使用 TLS)。 通常没有必要,而且可能会导致安全问题和重定向循环。.
- 满的: 通过 TLS 建立与源服务器的连接,但 Cloudflare 不验证源服务器证书。.
- 完整版(严格): 通过 TLS 建立与源服务器的连接,Cloudflare 会检查源服务器证书的真实性(该证书必须由受信任的 CA 或源服务器 CA 验证)。.
为什么要禁用通用 SSL?
禁用通用 SSL 的常见原因包括:
- 需要将专用边缘证书上传到 Cloudflare(通常在商业/企业套餐中)。.
- 直接在源站上对 HTTPS 进行故障排除和测试,无需经过 Cloudflare 边缘。.
- 使用另一个必须提供自身证书的 CDN 或负载均衡器。.
- SSL/缓存设置冲突,或者需要在 Edge 服务器上安装通配符/EV 证书。.
通用 SSL 激活步骤(控制面板)
通过 Cloudflare 控制面板完成激活步骤:
- 登录 Cloudflare 控制面板并选择域(区域)。.
- 到该部分 SSL/TLS 去。.
- 将SSL模式设置为开启。 完全(严格) 或者 满的 (建议: 完全(严格)).
- 在该部分 边缘证书, 选项 通用 SSL 此功能通常默认启用。如果已禁用,请单击“启用”按钮。.
- 请稍候——在 CDN 上颁发和发布证书最多可能需要 24 小时,但通常只需几分钟到几小时即可完成。.
禁用通用 SSL(控制面板)
停用步骤如下:
- 进入 SSL/TLS > 边缘证书 莳萝。.
- 在该部分 通用 SSL禁用按钮(禁用选择 )。.
- 如果要保持 HTTPS 不间断,则必须在禁用通用 SSL(适用于商业/企业套餐或更高版本)之前获取并安装替换边缘证书(自定义上传证书)。.
- 请注意,在安装新证书之前,HTTPS 用户会遇到错误。.
通过 API 启用/禁用(示例)
要实现自动化,您可以使用 Cloudflare API。首先获取区域 ID,然后更改通用 SSL 状态。.
获取区域 ID(示例):
curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=example.com" \
-H "X-Auth-Email: [email protected]" \
-H "X-Auth-Key: $GLOBAL_API_KEY" \
-H "Content-Type: application/json"更改通用 SSL 状态(示例):
curl -s -X PATCH "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/settings/universal_ssl" \
-H "X-Auth-Email: [email protected]" \
-H "X-Auth-Key: $GLOBAL_API_KEY" \
-H "Content-Type: application/json" \
--data '{"value":"off"}'要启用该值,请将其设置为 "在" 更改。(如果使用 API 令牌,请根据令牌文档设置标头。)
使用 Cloudflare Origin CA(推荐用于完整(严格)配置)
为了 完全(严格) 使用的最佳方式 Cloudflare Origin CA 颁发的证书仅在 Cloudflare 和 Origin 之间有效;此证书不适用于用户直接连接到 Origin,但对于 Cloudflare 和 Origin 之间的通信安全且简单。.
快速步骤:
- 在 Cloudflare 控制面板中, SSL/TLS → 源服务器 去。.
- 创建证书 单击,选择 RSA 或 ECDSA 类型,并指定域/通配符。.
- Cloudflare 生成 PEM 文件: 证书 和 私钥 下载。.
- 将这些文件放置在 Origin 上(例如:
/etc/ssl/cf_origin.pem和/etc/ssl/cf_origin.key).
使用源证书颁发机构的 Nginx 配置示例:
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/ssl/cf_origin.pem;
ssl_certificate_key /etc/ssl/cf_origin.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:...';
ssl_prefer_server_ciphers on;
root /var/www/html;
index index.php index.html;
...
}然后在 Cloudflare 中,将 SSL 模式设置为 完全(严格) 放上去。.
在 Cloudflare 存在的情况下安装 Let's Encrypt 证书
常见问题:如果 Cloudflare 处于代理模式(橙色云图标),HTTP-01 质询可能会失败。解决方案:
- 从 DNS-01挑战 使用(例如)
certbot --preferred-challenges dns)— 通配符必需。. - 或者暂时关闭代理(清除云端),然后在颁发证书后重新打开代理。.
- 或者来自 Cloudflare Origin CA 利用(更简单的完整(严格)解决方案)。.
使用 certbot DNS(带 Cloudflare 插件)颁发证书的示例:
certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.secrets/cloudflare.ini -d example.com -d '*.example.com'常见错误排查
常见错误及解决方法:
- 错误 525(SSL 握手失败): Cloudflare 与 Origin 之间的握手失败 — 检查 Nginx/Apache 是否已启用 TLS,以及是否已安装 Origin CA 或有效证书。.
- 错误 526(无效的 SSL 证书): Cloudflare 不识别源证书为有效证书 — 请使用有效的源 CA 或公共证书,并将模式设置为完全(严格)。.
- 重定向循环: 通常情况下,当 SSL 模式设置为“灵活”且源站存在 http → https 重定向时,解决方法是:使用“完全”/“完全(严格)”模式。.
- 通用 SSL 激活时间: 可能需要长达 24 小时;请耐心等待并清除 DNS 缓存。.
快速核查:
openssl s_client -connect example.com:443 -servername example.com检查 Cloudflare 与源服务器之间的连接:
curl -vk --resolve example.com:443:198.51.100.10 https://example.com/安全和操作提示
最佳实践和安全措施:
- 总是来自 完全(严格) 使用 Cloudflare 验证源证书的真实性。.
- 如果您使用 Cloudflare,请将允许访问源站的 IP 地址限制在白名单中;仅允许 Cloudflare 的 IP 地址。列出以下 IP 地址: Cloudflare IP列表 获取并保持更新。.
- 启用 TLS 1.3 和 HTTP/2 将提升性能。请谨慎启用 HSTS,并在确认配置无误后再进行操作(仅在经过全面测试后才能预加载)。.
- 对于敏感网站(交易网站、低延迟游戏网站、数据库渲染网站和人工智能网站):将 Origin 放置在靠近目标用户或 BGP 网络以及位置合适的数据中心附近,以实现最低的 RTT。.
- 对于非网络流量(例如 SSH 或私有 TCP),请使用安全隧道或防火墙规则;Cloudflare 针对网络流量进行了优化。.
SEO和性能技巧
通用SSL和CDN对SEO和性能的影响:
- 在 Edge 上启用通用 SSL 可确保用户始终使用 HTTPS——这对 SEO 非常有利。.
- 使用 CDN 和边缘证书可以减少全球用户的 TLS 握手时间。.
- 确保已正确设置从 HTTP 到 HTTPS 的 301 重定向,并且没有混合内容(使用 Lighthouse 或 Screaming Frog 等工具进行检查)。.
关闭通用 SSL 前的示例检查清单
- 您有备用的边缘证书吗?(如果没有,HTTPS 连接将会中断)
- Origin 在完整(严格)模式下是否拥有有效的证书?
- Cloudflare IP地址是否已加入源防火墙的白名单?
- 用户和第三方服务是否对变更做出响应?(例如,API 使用者)
- 是否选择了合适的时间(人流较少的时段)?
结论和建议
通用 SSL 是一种强大而简单的边缘加密功能,适用于大多数网站和应用程序。建议始终使用。 完全(严格) 与 Cloudflare Origin CA 或者使用有效的证书。禁用通用 SSL 应谨慎操作,且仅在特殊情况下使用。.
技术支持及相关服务
如果您使用我们提供的服务器(包括全球服务器、云服务器和专用服务器、GPU 图形服务器、用于交易和游戏的 VPS、反 DDoS 服务、CDN 和 BGP 支持),我们的技术团队可以帮助您安装 Origin CA、设置防火墙规则以将 Cloudflare IP 列入白名单,或者就如何配置 SSL/TLS 以实现最低延迟和最高安全性提供建议。.









