Cloudflare 怎么配置 SSL TLS 加密模式为 Full Strict 避免回源错误

文章导读
将 Cloudflare 的 SSL/TLS 加密模式设置为 Full (strict) 是提升站点安全性的最佳实践,但该模式强制验证源站证书的有效性。若源站证书配置不当,会直接导致 526 错误。
📋 目录
  1. Cloudflare 后台设置路径
  2. 源站证书安装与配置(Nginx 示例)
  3. 验证与排查命令
  4. 常见错误与解决
  5. 参考文档
A A

将 Cloudflare 的 SSL/TLS 加密模式设置为 Full (strict) 是提升站点安全性的最佳实践,但该模式强制验证源站证书的有效性。若源站证书配置不当,会直接导致 526 错误。

先说结论:Full (strict) 模式安全性最高,但配置门槛也最高,适合源站已具备合法 HTTPS 能力的场景。

  • 适合:源站已安装由可信 CA 或 Cloudflare Origin CA 签发的有效证书。
  • 先准备:确认源站开放 443 端口且证书域名匹配。
  • 验收:访问网站无 526 报错,浏览器地址栏显示安全锁标志。

Cloudflare 后台设置路径

登录 Cloudflare 仪表盘后,按以下路径修改加密模式:

  1. 点击目标域名进入管理页面。
  2. 在左侧菜单栏找到并点击 SSL/TLS
  3. Overview(概述) 页面中找到 Encryption Mode(加密模式)
  4. 选择 Full (strict) 选项。
  5. 等待状态更新为 Active,通常只需几秒。

注意:若切换后出现 526 错误,说明源站证书未通过验证,需立即检查源站配置。

源站证书安装与配置(Nginx 示例)

Full (strict) 模式要求源站证书必须由可信 CA 签发。推荐使用 Cloudflare Origin CA 证书,有效期长且免费。

1. 生成 Origin CA 证书

Cloudflare 怎么配置 SSL TLS 加密模式为 Full Strict 避免回源错误

在 Cloudflare 后台 SSL/TLS -> Origin Server 页面生成证书,下载 PEM 和 Key 文件上传至服务器。

2. Nginx 配置示例

编辑 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf),确保 SSL 路径正确:

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /etc/nginx/ssl/origin_cert.pem;
    ssl_certificate_key /etc/nginx/ssl/origin_key.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

配置完成后,重载 Nginx 使配置生效:

nginx -t && nginx -s reload

验证与排查命令

配置完成后,使用以下命令验证链路是否正常:

Cloudflare 怎么配置 SSL TLS 加密模式为 Full Strict 避免回源错误

1. 检查 HTTPS 握手状态

使用 curl verbose 模式查看 SSL 握手详情,确认无证书验证错误:

curl -vI https://yourdomain.com

预期输出:

  • 看到 * SSL certificate verify ok 表示证书可信。
  • HTTP 状态码应为 200301/302,不应出现 526 或 525。

2. 检查证书有效期

使用 openssl 查看源站证书详情,确认未过期且域名匹配:

echo | openssl s_client -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -dates

常见错误与解决

  • 526 Invalid SSL Certificate:源站证书自签名、过期或域名不匹配。解决方案:更换为可信 CA 证书或 Cloudflare Origin CA 证书。
  • 525 SSL Handshake Failed:Cloudflare 无法与源站完成握手。检查源站 443 端口是否开放,防火墙是否拦截。
  • 重定向循环:若源站强制跳转 HTTPS 而 Cloudflare 设为 Flexible,会形成循环。Full (strict) 模式下需确保源站监听 443 且配置正确。
  • 混合内容警告:HTTPS 页面加载了 HTTP 资源。开启 Cloudflare 的 Automatic HTTPS Rewrites 功能或检查代码资源链接。

参考文档