贝博恩创新科技网

Cloudflare SSL如何配置与使用?

Cloudflare SSL/TLS 完整教程:从入门到精通

本教程将带你全面了解 Cloudflare 的 SSL/TLS 功能,包括它的工作原理、不同模式的区别、如何选择最适合你的模式,以及常见问题的解决方案。

Cloudflare SSL如何配置与使用?-图1
(图片来源网络,侵删)

第一部分:基础知识

在开始配置之前,我们需要先理解几个核心概念。

什么是 SSL/TLS?

  • SSL (Secure Sockets Layer)TLS (Transport Layer Security) 是用于在互联网上加密数据传输的协议,它们就像一个加密的隧道,确保你的网站访客和你的服务器之间的数据(如密码、信用卡号、个人信息)是安全的,不会被窃听或篡改。
  • 现在通常统称为 HTTPSS 就代表 Secure(安全)。

为什么需要 SSL/TLS?

  • 安全性:保护数据隐私,防止中间人攻击。
  • 信任度:浏览器地址栏的锁形标志会给用户带来信任感。
  • SEO 优势:Google 等搜索引擎优先索引 HTTPS 网站。
  • 现代网络要求:许多现代网络功能(如 HTTP/2、Service Worker、Push Notifications)都要求 HTTPS。

Cloudflare 的 SSL/TLS 模式(核心概念)

这是 Cloudflare SSL 配置中最重要、最核心的部分,Cloudflare 提供了四种模式,每种模式都代表了不同的加密级别和信任路径。

一个关键角色:Cloudflare 证书

Cloudflare 会为你的域名免费签发一个 wildcard certificate (通配符证书)*.yourdomain.com,这个证书覆盖了你的主域名和所有子域名,这是 Cloudflare 提供免费 SSL 的基础。

Cloudflare SSL如何配置与使用?-图2
(图片来源网络,侵删)

第二部分:四种 SSL/TLS 模式详解

让我们逐一分析这四种模式,帮助你做出最佳选择。

Off (关闭)

  • 工作原理:Cloudflare 和访客之间不加密,Cloudflare 和你的 origin server(源服务器)之间也不加密。
  • 加密状态HTTP -> HTTP
  • 优点:性能最高,因为没有加密/解密的开销。
  • 缺点
    • 完全不安全:所有数据都是明文传输。
    • 浏览器会显示“不安全”警告。
    • 无法利用 Cloudflare 的其他安全功能(如 WAF、Rule Engine)。
  • 适用场景:几乎不推荐用于生产环境,仅用于本地测试或调试网络连接问题。

Flexible (灵活)

  • 工作原理:Cloudflare 和访客之间是加密的,但 Cloudflare 和你的源服务器之间是不加密的。
  • 加密状态HTTPS -> HTTP
  • 优点:对访客来说是安全的,可以解决浏览器“不安全”警告。
  • 缺点
    • 存在巨大安全风险:数据从 Cloudflare 到你的服务器的这段路径是明文的,如果有人攻击你的网络或 Cloudflare 到你服务器的链路,数据就会被窃取。
    • 容易受到 SSL Stripping (SSL 劫持) 攻击,攻击者可以将 HTTPS 连接降级为不安全的 HTTP 连接。
  • 适用场景强烈不推荐使用! 除非你的源服务器位于一个绝对安全的内网,且无法配置 HTTPS,对于 99.9% 这是一个危险的选择。

Full (完全)

  • 工作原理:Cloudflare 和访客之间是加密的,Cloudflare 和你的源服务器之间也是加密的
  • 加密状态HTTPS -> HTTPS
  • 优点
    • 端到端的加密(虽然 Cloudflare 可以解密内容以提供其服务)。
    • 有效防止了数据在传输过程中被窃听。
    • 避免了 SSL Stripping 攻击。
  • 缺点
    • 信任问题:Cloudflare 需要使用自己的证书连接到你的服务器,如果你的服务器使用的是由公共 CA(如 Let's Encrypt, DigiCert)签发的证书,一切正常,但如果你使用的是自签名证书,浏览器会报错,因为 Cloudflare 的证书不受浏览器信任。
  • 适用场景
    • 你的源服务器配置了由公共 CA 签发的有效证书。
    • 这是最常用、最推荐的基础安全模式

Full (Strict) (完全 - 严格)

  • 工作原理:与 Full 模式一样,两端都是加密的,但 Cloudflare 会严格验证你的源服务器证书的有效性。
  • 加密状态HTTPS -> HTTPS
  • 优点
    • 提供最高级别的安全性和信任度。
    • 确保了你的源服务器证书是真实、有效、未过期的,并且域名匹配正确。
  • 缺点
    • 配置要求高:必须确保你的源服务器:
      1. 有一个有效的、由公共 CA 签发的证书。
      2. 证书未过期。
      3. 证书的域名与你的源服务器主机名完全匹配。
    • 如果证书有任何问题,Cloudflare 会立即断开连接,导致你的网站完全无法访问(显示 525 SSL Handshake Failed 错误)。
  • 适用场景
    • 对安全性要求极高的企业级应用。
    • 你的服务器配置由你完全掌控,确保证书始终有效。
    • 这是最安全的模式,但也是最容易出问题的模式。

第三部分:如何选择正确的 SSL/TLS 模式?

一张图帮你快速决策:

你的源服务器是否配置了有效的公共 CA 证书? 你能接受因证书问题导致网站暂时无法访问吗? 推荐模式
(使用自签名证书或无证书) N/A OffFlexible (仅限测试)
,但偶尔会忘记续期或更新 Full (完全)
,且你有完善的证书监控和续期机制 Full (Strict) (完全 - 严格)

新手建议: 如果你刚开始使用 Cloudflare,并且你的源服务器有有效的 HTTPS 证书,请从 Full (完全) 模式开始,这是安全性和易用性之间最好的平衡,当你对一切都很有把握,且需要最高级别的安全时,再切换到 Full (Strict)


第四部分:实操配置步骤

假设你已经将域名解析到 Cloudflare,并且源服务器(如 VPS、虚拟主机)已经正常运行。

Cloudflare SSL如何配置与使用?-图3
(图片来源网络,侵删)

步骤 1:确保源服务器有 HTTPS

在配置 Cloudflare 之前,请确保你的源服务器本身可以通过 HTTPS 访问。

  1. 在你的服务器上安装证书(例如使用 Let's Encrypt 的 Certbot)。
  2. 确保你的 Web 服务器(如 Nginx, Apache)监听 443 端口,并配置了正确的 SSL 证书。
  3. 在浏览器中直接访问 https://你的源服务器IP地址,确保能看到网站内容且没有证书错误。

步骤 2:在 Cloudflare 面板上配置 SSL

  1. 登录你的 Cloudflare 控制台

  2. 选择你想要配置的域名。

  3. 在左侧菜单栏中,找到并点击 SSL/TLS -> Overview

  4. 你会看到 "Encryption Mode"(加密模式)选项。

  5. 点击下拉菜单,根据我们上面的分析,选择 Full (完全)Full (Strict) (完全 - 严格)

  6. 点击 Save(保存)按钮。

步骤 3:强制使用 HTTPS(非常重要)

配置好 SSL 模式后,虽然可以通过 HTTPS 访问了,但用户仍然可以通过 HTTP 访问,为了确保所有流量都走加密通道,你需要强制 HTTPS。

  1. 在左侧菜单栏中,找到并点击 SSL/TLS -> Edge Certificates

  2. 找到 Always Use HTTPS 选项。

  3. 将其开关打开

  4. 点击 Save(保存)。

工作原理:这个功能会在 Cloudflare 边缘服务器上自动将所有 HTTP 请求重定向到 HTTPS 请求(返回 301 永久重定向状态码)。


第五部分:常见问题与故障排查

问题 1:网站无法访问,显示 "525 SSL Handshake Failed"

  • 原因:你选择了 Full (Strict) 模式,但 Cloudflare 无法验证你的源服务器证书。
  • 解决方案
    1. 暂时将 SSL 模式降级为 Full (完全)
    2. 检查你的源服务器证书:
      • 是否过期? 检查证书的有效期。
      • 域名是否匹配? 确保证书上的域名(如 yourdomain.com)与你在 Cloudflare 中设置的 "Origin Server"(源服务器)地址完全一致。
      • 是否是公共 CA 签发? 确保证书不是自签名的。
    3. 修复证书问题后,再将模式切回 Full (Strict)

问题 2:网站混合内容警告

  • 原因:虽然主页面是 HTTPS,但页面中加载的一些资源(如图片、CSS、JS 文件、API 请求)是通过 HTTP 协议加载的,浏览器会因此显示不安全警告。
  • 解决方案
    • 最佳实践:修改你的网站源代码,确保所有内部链接都使用 https:// 开头。
    • Cloudflare 自动修复:Cloudflare 的 "Auto Minify" 和 "Universal SSL" 功能有时能帮助修复,但最根本的解决办法还是在源端修复。
    • 使用浏览器的开发者工具 (F12) -> Network 标签页,找出哪些是混合内容,然后逐一修复。

问题 3:想使用自己的证书(自定义证书)

  • 原因:你可能使用的是 EV 证书、多域名证书,或者有其他特殊需求。
  • 解决方案
    1. 在 Cloudflare 控制台,进入 SSL/TLS -> Origin Server
    2. 点击 Create Origin Server,输入你的源服务器信息。
    3. 上传你的证书文件(.crt.pem)和私钥文件(.key)。
    4. 保存后,在 SSL/TLS -> Overview 中,将 "Minimum TLS Version" 设置为 2 或更高,并将加密模式设置为 Full (Strict),Cloudflare 会优先使用你上传的证书连接到你的源服务器。

第六部分:最佳实践总结

  1. 首选模式:从 Full (完全) 开始,这是最安全且最省心的选择。
  2. 强制 HTTPS:务必开启 Always Use HTTPS 功能。
  3. 证书管理:在源服务器上使用 Let's Encrypt 等自动化工具管理证书,避免因忘记续期导致网站宕机。
  4. 性能优化:开启 Cloudflare 的 HTTP/2Brotli 压缩(在 Speed -> Optimization 中),它们需要 HTTPS 才能工作。
  5. 定期检查:定期使用在线工具(如 SSL Labs' SSL Test)检查你的 SSL 配置得分和安全性。

通过这份教程,你应该已经能够熟练地配置和管理 Cloudflare 的 SSL/TLS 了,祝你网站安全、快速!

分享:
扫描分享到社交APP
上一篇
下一篇