Cloudflare 错误代码别乱修:1016、521、1000、403、SSL 握手与 500 一次讲清

网站突然显示 Cloudflare 错误代码时,很多站长第一反应是清缓存、重启服务器,甚至直接把橙云关掉。但从维护 WordPress 站点的经验看,error 1016、error code 521、cloudflare error 1000、cloudflare 403、cloudflare ssl handshake failed 和 cloudflare error 500 并不是同一种故障。它们分别指向 DNS、回源连接、安全拦截、SSL 握手、源站程序等不同位置。

这篇文章不做代码大全式堆砌,而是按真实排障顺序写成一份可执行清单。你可以先用前面的快速判断找到问题所在,再到对应错误代码下面逐项处理。尤其适合 WordPress、WooCommerce、Elementor 站点在更换服务器、接入 CDN、启用 WAF、更新证书或修改 DNS 后出现打不开的情况。

Cloudflare Error 1016 Origin DNS error 截图
1016 重点看 Cloudflare DNS 记录和源站 Hostname,而不是先停用 WordPress 插件。

先别乱改:用 3 个问题判断故障位置

Cloudflare 位于访客和源站之间。访客先访问 Cloudflare 节点,Cloudflare 再去你的服务器取内容。排障时最怕把所有问题都当成“CDN 抽风”。建议先回答下面 3 个问题:

  1. 错误页是否带有 Cloudflare Ray ID?如果有,说明请求至少到达了 Cloudflare,可以去 Security Events 或日志里进一步筛选。
  2. 灰云直连或 hosts 指向源站 IP 后是否正常?如果直连也错误,优先查服务器、WordPress、PHP 和数据库。
  3. 错误是否只发生在 wp-admin、wp-json、支付回调、登录页等特定路径?如果是,优先怀疑 WAF、Bot 规则、安全插件或权限规则。

经验建议:排查 Cloudflare 报错时,每次只调整一个变量。比如先修 DNS,再测回源;先临时跳过某条 WAF,再复测接口。一次改太多,即使网站恢复,也很难知道真正原因。

错误代码快速对照表

错误代码/提示最常见原因优先检查
error 1016Cloudflare 找不到可解析的源站A/AAAA/CNAME、Origin Hostname、负载均衡源站
error code 521源站拒绝 Cloudflare 连接Web 服务、80/443 端口、防火墙、Cloudflare IP 白名单
cloudflare error 1000DNS 指向禁止地址或形成回环是否指向 Cloudflare IP、127.0.0.1、内网 IP、CNAME 循环
cloudflare 403Cloudflare 或源站返回禁止访问Security Events、WAF、IP 规则、安全插件、服务器 deny
cloudflare ssl handshake failedCloudflare 与源站 TLS 握手失败SSL 模式、证书有效期、证书链、TLS 版本、SNI
cloudflare error 500源站应用或服务器内部错误PHP error_log、debug.log、插件主题冲突、rewrite 规则

error 1016:先修 DNS,不要先动插件

error 1016 的常见提示是 Origin DNS error。简单说,Cloudflare 想回源,但无法把源站主机名解析成可用地址。这类问题通常发生在迁站、修改 CNAME、删除旧主机记录、配置负载均衡或接入第三方托管平台之后。它一般不是 Elementor、缓存插件或主题模板造成的。

排查步骤

  1. 进入 Cloudflare → DNS,检查出错的主机名,例如 @、www、blog、shop、cdn 或 api。
  2. 根域名通常使用 A/AAAA 指向真实源站 IP;www 可按主机商要求 CNAME 到根域名或指定主机名。不要把已开启代理后解析出的 Cloudflare IP 当作源站 IP 填回去。
  3. 如果记录是 CNAME,复制目标域名,用 dig、nslookup 或 DNS Checker 检查它在公网是否能解析。只在主机商内部可解析的地址,Cloudflare 无法正常回源。
  4. 检查是否有拼写错误、过期临时域名、已删除的负载均衡源站、重复记录或错误的 AAAA 记录。
  5. 修改后等待 DNS 生效,并用无痕窗口、手机网络和外部检测工具复测。

站内可以延伸阅读 Cloudflare Error 1016 怎么解决?DNS Origin Error 排查教程,适合单独处理 1016 和 Origin DNS 问题。

error code 521:Cloudflare 连不到你的 Web 服务

error code 521 的意思并不一定是整台服务器宕机,而是 Cloudflare 连接源站时被拒绝。常见场景包括 Nginx/Apache/LiteSpeed 没启动、80/443 端口没开放、云安全组拦截、服务器防火墙误封 Cloudflare IP、Fail2ban/CSF/宝塔安全规则把 Cloudflare 节点当成异常请求。

Cloudflare Error 521 Web server is down 截图
521 通常从 Web 服务状态、端口和防火墙开始排查。

排查步骤

  1. 先确认源站是否能直连。可以临时灰云,或在本机 hosts 指向源站 IP 测试;测试后记得恢复 Cloudflare 代理。
  2. 在服务器检查 Web 服务状态:Nginx、Apache、OpenLiteSpeed 或 LiteSpeed 是否正常运行,站点虚拟主机是否加载成功。
  3. 确认云服务器安全组、防火墙、iptables/ufw、主机面板安全规则都允许 80 和 443 端口。
  4. 将 Cloudflare 官方 IP 段加入白名单,尤其是开启 WAF、Fail2ban、CSF、宝塔防火墙、主机商防护时。
  5. 查看 access log。如果完全没有 Cloudflare 请求,多半被网络或防火墙挡住;如果有请求但返回错误,再继续看站点配置。

如果你还遇到 502、503、504,可参考 Cloudflare 500/502/503 真相:一文理清本质区别,先区分“连不上源站”和“源站处理失败”。

cloudflare error 1000:DNS 指到了 Cloudflare 不允许的目标

cloudflare error 1000 常见于 DNS 记录指向了禁止代理的地址,例如 Cloudflare 自己的边缘 IP、127.0.0.1、10.x、192.168.x、172.16.x 到 172.31.x 等内网地址,或者 www 与根域名之间形成循环 CNAME。它和 1016 都属于 DNS 层问题,但 1016 是“找不到有效源站”,1000 是“找到了不该指向的目标”。

Cloudflare Error 1000 DNS points to prohibited IP 截图
1000 要检查 A/AAAA/CNAME 是否指向 Cloudflare IP、内网地址或循环记录。

排查步骤

  1. 检查 A/AAAA 记录,确认填写的是主机商提供的真实源站 IP,而不是浏览器解析到的 Cloudflare 节点 IP。
  2. 删除重复、旧主机、测试平台遗留的 DNS 记录,避免同一主机名下多条冲突记录。
  3. 如果托管平台要求 CNAME 接入,严格按平台文档填写 CNAME,不要把 CNAME 中间解析出的 IP 再复制到 Cloudflare。
  4. 检查 www、根域名、子域名之间是否存在循环引用。
  5. 保存后清理本地 DNS 缓存,换网络复测,避免被本机缓存误导。

cloudflare 403:先确认是谁返回的 403

cloudflare 403 最容易误判。它可能是 Cloudflare WAF、Bot Fight Mode、IP Access Rules、Rate Limiting 返回的,也可能是源站 Nginx/Apache、主机商 WAF、Wordfence、iThemes Security、All In One WP Security 等插件返回的。处理前必须先确认“谁拦截”。

排查步骤

  1. 复制错误页 Ray ID、访客 IP、访问路径和发生时间,进入 Cloudflare → Security → Events 搜索。
  2. 如果能看到命中的规则,不要直接关闭全站 WAF,而是针对 wp-admin、wp-json、支付回调、会员登录接口、搜索引擎爬虫等建立更精确的 Skip 或 Allow 规则。
  3. 检查 IP Access Rules、Country Blocking、Rate Limiting、Bot 相关设置,确认没有误封管理员、支付网关、监控服务或 Google/Bing 爬虫。
  4. 如果 Cloudflare 没有事件记录,去源站查 access/error log,以及 WordPress 安全插件日志。
  5. 修复后使用退出登录状态、无痕窗口、手机 4G/5G 测试,不要只用管理员浏览器判断。

如果站点安装了 Wordfence,可参考 Wordfence Security 插件安装配置指南,重点检查登录保护、REST API、xmlrpc.php 和目录访问限制。

cloudflare ssl handshake failed:重点检查源站证书

用户搜索 cloudflare ssl handshake failed 时,实际页面可能是 525 SSL handshake failed,也可能是 526 Invalid SSL certificate。它们通常出现在 Cloudflare 与源站建立 HTTPS 连接的阶段,常见原因是源站证书过期、域名不匹配、证书链不完整、服务器 TLS 版本过旧,或 Cloudflare SSL/TLS 模式与源站状态不匹配。

排查步骤

  1. 优先使用 Full (strict) 模式,但前提是源站证书有效、域名匹配、证书链完整。
  2. 检查证书是否同时覆盖根域名和 www。迁站或换证书时,经常只绑定了其中一个域名。
  3. 如果使用 Cloudflare Origin Certificate,确认已经把证书和私钥安装到服务器虚拟主机,而不是只在 Cloudflare 后台生成。
  4. 检查服务器 TLS 版本和加密套件,过旧环境可能无法和 Cloudflare 正常握手。
  5. 确认 Cloudflare 当前回源 IP 是新服务器,不是仍然指向旧服务器上的过期证书。

SSL 配置还可能导致循环跳转,相关排查可看 Flexible SSL 模式的致命误区 respond in singing Solution for Cloudflare SSL Settings that Raise TOO_MANY_REDIRECTSThe

cloudflare error 500:多数要回到 WordPress 和服务器日志

cloudflare error 500 不是一个单一原因。很多时候 Cloudflare 只是把源站返回的 500 展示出来,真正的问题在 WordPress、PHP、数据库或服务器配置。典型原因包括插件更新后 fatal error、主题函数冲突、PHP 版本不兼容、内存不足、数据库连接异常、.htaccess 损坏、Nginx rewrite 写错、文件权限错误。

排查步骤

  1. 临时灰云或 hosts 直连源站。如果绕过 Cloudflare 仍然 500,基本就是源站问题。
  2. 查看 PHP error_log、WordPress wp-content/debug.log、Nginx/Apache error log,优先搜索 fatal error、memory exhausted、permission denied、database error。
  3. 回滚最近更新的插件、主题、PHP 版本和缓存配置。页面构建器、缓存、安全、支付、SMTP、SEO 插件都值得重点检查。
  4. 检查 PHP memory_limit、max_execution_time、max_input_vars 是否满足当前站点规模。
  5. 恢复 WordPress 默认伪静态规则,确认 .htaccess 或 Nginx rewrite 没有语法错误。

推荐的恢复顺序:从外到内,不要跳步

  1. 记录错误截图、错误代码、Ray ID、URL、发生时间、访客地区和操作路径。
  2. 先查 DNS:记录是否存在、是否重复、是否指向真实源站,是否有错误 AAAA 或 CNAME 循环。
  3. 再查回源:Web 服务、80/443 端口、云安全组、防火墙、Cloudflare IP 白名单。
  4. 继续查 SSL:SSL/TLS 模式、证书有效期、证书链、SNI、TLS 版本和回源 IP。
  5. 然后查安全规则:Cloudflare Security Events、WAF、Bot、Rate Limiting、源站安全插件。
  6. 最后查 WordPress:debug.log、插件主题冲突、缓存、重定向、数据库和伪静态。
  7. 网站恢复后再逐步打开缓存、WAF、Bot 规则和性能优化,避免为了临时恢复把安全功能长期关闭。

summarize

Cloudflare 常见错误代码的核心思路,是先定位链路,再解决具体问题。error 1016 优先修 DNS 解析;error code 521 优先查源站连接和防火墙;cloudflare error 1000 检查 DNS 是否指向禁止地址或形成回环;cloudflare 403 要分清 Cloudflare 拦截还是源站权限;cloudflare ssl handshake failed 回到源站证书和 TLS 配置;cloudflare error 500 则重点看 WordPress、PHP 和服务器日志。按这个顺序处理,通常比反复清缓存、重启服务器、停用全部插件更快,也更安全。

延伸阅读


Contact Us
Can't read the tutorial? Contact us for a free answer! Free help for personal, small business sites!
客服微信
Customer Service
Tel: 020-2206-9892
QQ咨询:1025174874
(iii) E-mail: [email protected]
Working hours: Monday to Friday, 9:30-18:30, holidays off
© Reprint statement
This article was written by Harry
THE END
If you like it, support it.
kudos14 share (joys, benefits, privileges etc) with others