启用和禁用 Cloudflare 通用 SSL — 服务器管理员和开发人员的实用安全指南
通过本指南,您可以了解在 Cloudflare 中启用和禁用通用 SSL 的完整技术细节,并实施更优化的安全设置。.

启用和禁用 Cloudflare 通用 SSL — 服务器管理员和开发人员的实用安全指南

本文将详细讲解如何在 Cloudflare 上启用和禁用通用 SSL。本指南将帮助您充分利用此服务来保护您的网站。了解如何启用和禁用它,并熟悉相关的安全设置。.
0 股票
0
0
0
0

为什么在 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 控制面板完成激活步骤:

  1. 登录 Cloudflare 控制面板并选择域(区域)。.
  2. 到该部分 SSL/TLS 去。.
  3. 将SSL模式设置为开启。 完全(严格) 或者 满的 (建议: 完全(严格)).
  4. 在该部分 边缘证书, 选项 通用 SSL 此功能通常默认启用。如果已禁用,请单击“启用”按钮。.
  5. 请稍候——在 CDN 上颁发和发布证书最多可能需要 24 小时,但通常只需几分钟到几小时即可完成。.

禁用通用 SSL(控制面板)

停用步骤如下:

  1. 进入 SSL/TLS > 边缘证书 莳萝。.
  2. 在该部分 通用 SSL禁用按钮(禁用选择 )。.
  3. 如果要保持 HTTPS 不间断,则必须在禁用通用 SSL(适用于商业/企业套餐或更高版本)之前获取并安装替换边缘证书(自定义上传证书)。.
  4. 请注意,在安装新证书之前,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 以实现最低延迟和最高安全性提供建议。.

常见问题解答

您可能也喜欢