接入 Cloudflare 后,网站访问速度和安全性通常会更好,但一旦出现 error 1016、error code 521、cloudflare error 1000、cloudflare 403、cloudflare ssl handshake failed 或 cloudflare error 500,很多站长第一反应就是清缓存、暂停代理、停用插件。这样做有时能临时恢复,却很容易错过真正原因,甚至把 DNS、SSL、WAF 和 WordPress 程序错误混在一起。
这篇文章按真实排障顺序来写:先判断请求卡在 DNS、回源连接、SSL 握手、安全拦截,还是 WordPress/PHP 源站程序层;再分别给出可执行步骤。适合 WordPress、WooCommerce、Elementor 网站在迁站、换 IP、启用防火墙、更新证书、修改解析后快速定位问题。

排查前先做 4 件事
- 保存错误页截图,记录 Cloudflare Ray ID、访问 URL、发生时间和访客地区。
- 回想最近 24 小时是否改过 DNS、服务器 IP、SSL 证书、WAF 规则、缓存插件、主题或 PHP 版本。
- 用无痕窗口、手机网络和不同地区检测工具复测,避免只被本地 DNS 或浏览器缓存误导。
- 每次只修改一个变量。一次同时关 WAF、灰云、删插件、改 SSL,即使恢复也不知道是哪一步有效。
错误代码快速对照表
| 错误代码 | 通常含义 | 优先处理位置 |
|---|---|---|
| error 1016 | Cloudflare 无法解析源站主机名 | DNS 记录、CNAME 目标、错误 AAAA |
| error code 521 | 源站拒绝 Cloudflare 连接 | Web 服务、80/443 端口、防火墙 |
| cloudflare error 1000 | DNS 指向被禁止的地址或形成回环 | 真实源站 IP、CNAME 循环、内网 IP |
| cloudflare 403 | 访问被 Cloudflare 或源站拒绝 | WAF、Bot、IP 规则、安全插件 |
| cloudflare ssl handshake failed | Cloudflare 到源站 TLS 握手失败 | SSL/TLS 模式、源站证书、证书链 |
| cloudflare error 500 | 源站程序或服务器内部错误 | PHP 日志、插件主题冲突、数据库、伪静态 |
error 1016:先查 DNS,别先动主题
error 1016 常见提示是 Origin DNS error。意思是 Cloudflare 想回源,但找不到可用的源站地址。它常发生在迁站后删除旧解析、把 www 改成 CNAME、使用第三方托管平台、配置负载均衡或误删根域名记录之后。
解决步骤
- 进入 Cloudflare → DNS,检查 @、www、shop、blog、api 等主机名是否都有正确记录。
- 根域名一般用 A/AAAA 指向主机商提供的真实服务器 IP;www 可 CNAME 到根域名或平台指定 hostname。
- 不要把 ping 域名得到的 Cloudflare 边缘 IP 填回 A 记录,这会引出 1000 或回源异常。
- 如果用了 CNAME,复制目标域名用 nslookup/dig 检查公网是否能解析。只能在服务商内网解析的目标,Cloudflare 不能使用。
- 检查是否残留错误 AAAA 记录。服务器没有 IPv6 却保留 AAAA,可能导致部分地区访问异常。
如果你只遇到 1016,可继续参考 Cloudflare Error 1016 怎么解决?DNS Origin Error 排查教程。
error code 521:服务器拒绝 Cloudflare 连接
521 经常显示 Web server is down,但并不一定是服务器整机宕机。更常见的是 Nginx、Apache、OpenLiteSpeed 没有监听端口,云安全组没放行 80/443,或者防火墙、安全插件、主机商 WAF 把 Cloudflare IP 当成异常流量拦截。

解决步骤
- 短时间灰云或本地 hosts 指向真实源站 IP 测试,确认源站本身是否可访问。
- 登录服务器检查 Web 服务状态:systemctl status nginx/apache2/lsws,确认站点虚拟主机加载成功。
- 检查云服务器安全组、面板防火墙、ufw/iptables/CSF 是否放行 80 和 443。
- 把 Cloudflare 官方 IP 段加入白名单,尤其是使用宝塔、防火墙、Fail2ban、ModSecurity 的站点。
- 查看源站 access log:没有请求说明被网络或防火墙拦住;有请求但 5xx,则继续看 PHP 和程序日志。
如果同时看到 502、503、504,可延伸阅读 Cloudflare 500/502/503 真相:一文理清本质区别。
cloudflare error 1000:DNS 指向了不允许代理的目标
cloudflare error 1000 与 DNS 配错高度相关。常见原因包括 A 记录指向 Cloudflare 自己的 IP、127.0.0.1、10.x/192.168.x 内网地址,或者根域名和 www 互相 CNAME 形成循环。1016 是找不到源站,1000 则是目标地址不允许被代理。
- 核对所有 A/AAAA 记录,只保留真实源站 IP。
- 删除迁站遗留的重复记录、测试记录和旧服务器记录。
- 不要把 CNAME 的解析结果手动复制成 A 记录,按平台文档保持 CNAME 即可。
- 避免 @ 与 www 互相 CNAME。常见做法是 @ 指向源站,www CNAME 到 @,或完全按托管平台要求配置。
cloudflare 403:先判断拦截发生在哪里
403 可能来自 Cloudflare,也可能来自源站。比如 Cloudflare WAF、Bot Fight Mode、Rate Limiting、IP Access Rules 会返回 403;源站 Nginx/Apache deny、Wordfence、iThemes Security、All In One WP Security、主机商 WAF 也会返回 403。

- 用 Ray ID、访客 IP、路径和时间到 Cloudflare → Security → Events 查询。
- 如果命中 WAF 规则,对 wp-admin、wp-json、支付回调、会员登录等必要路径做精确 Skip,不要直接关闭全站 WAF。
- 如果 Cloudflare 没有安全事件,就去源站 access/error log 和安全插件日志查 403 来源。
- 对管理员固定 IP、支付网关、监控服务和搜索引擎爬虫做必要放行,但不要把整站全放白。
使用 Wordfence 的站点可以结合 Wordfence Security 插件安装配置指南 检查是否与 Cloudflare 规则重复拦截。
cloudflare ssl handshake failed:源站证书也必须正确
SSL 握手失败通常对应 525 或 526。很多人只看浏览器地址栏的小锁,却忘了 Cloudflare 和源站之间也要完成 HTTPS 握手。Full (strict) 模式下,源站证书必须有效、未过期、域名匹配,并且证书链完整。
- 建议使用 Full (strict),但先确认源站证书覆盖根域名和 www。
- 如果使用 Cloudflare Origin Certificate,要把证书和私钥安装到服务器站点配置里,而不是只在 Cloudflare 后台生成。
- 检查源站 TLS 版本和加密套件,老系统或过旧 OpenSSL 可能握手失败。
- 确认 DNS 已指向新服务器,避免 Cloudflare 回源到旧机器上的过期证书。
SSL 设置还可能引发跳转循环,可参考 Flexible SSL 模式的致命误区 和 Cloudflare SSL 设置引发 TOO_MANY_REDIRECTS 的解决方案。
cloudflare error 500:回到 WordPress 和 PHP 日志
cloudflare error 500 多数时候并不是 Cloudflare 自己坏了,而是源站返回了内部错误。WordPress 站点常见原因包括插件更新后的 fatal error、主题 functions.php 冲突、PHP 版本不兼容、内存不足、数据库异常、.htaccess 损坏、Nginx rewrite 写错或文件权限异常。
- 灰云或 hosts 直连源站测试;绕过 Cloudflare 仍然 500,基本就是源站问题。
- 查看 PHP error_log、wp-content/debug.log、Nginx/Apache error log,重点搜索 fatal error、memory exhausted、permission denied、database error。
- 回滚最近更新的插件、主题、PHP 版本和缓存配置,Elementor、WooCommerce、缓存、安全、支付插件要重点排查。
- 检查 memory_limit、max_execution_time、max_input_vars 和数据库连接,必要时临时启用 WP_DEBUG_LOG。
- 恢复固定链接规则,确认 .htaccess 或 Nginx rewrite 没有语法错误。
推荐的恢复顺序
- DNS:记录是否存在、是否重复、是否指向真实源站,是否有错误 AAAA 或 CNAME 回环。
- 回源:Web 服务是否运行,80/443 是否开放,Cloudflare IP 是否被防火墙拦截。
- SSL:Cloudflare SSL 模式、源站证书、证书链、TLS 版本和回源 IP。
- 安全:Cloudflare Security Events、WAF、Bot、Rate Limiting、源站安全插件。
- WordPress:debug.log、插件主题冲突、缓存、数据库、伪静态和 PHP 配置。
总结
处理 Cloudflare 常见错误代码,关键不是死记代码,而是按链路分层。error 1016 先修 DNS;error code 521 查源站连接和防火墙;cloudflare error 1000 纠正禁止地址或 CNAME 回环;cloudflare 403 分清 Cloudflare 与源站拦截;cloudflare ssl handshake failed 回到源站证书和 TLS;cloudflare error 500 则看 WordPress、PHP 和服务器日志。按这个顺序处理,通常比反复清缓存、盲目停插件更快、更稳。
延伸阅读
- Cloudflare Error 1016 怎么解决?DNS Origin Error 排查教程
- SSL证书握手失败:深入解决 Cloudflare 525 错误
- Cloudflare 500/502/503 真相:一文理清本质区别
- 常见 WordPress 故障修复
| 联系我们 | |
|---|---|
| 教程看不懂?联系我们为您免费解答!免费助力个人,小企站点! |
客服微信
|
| ① 电话:020-2206-9892 | |
| ② QQ咨询:1025174874 | |
| ③ 邮件:[email protected] | |
| ④ 工作时间:周一至周五,9:30-18:30,节假日休息 | |

















3月11日 13:490
现在肯定还是做SEO的,只是玩法变了。 以前靠堆内容、堆关键词就能有流量,现在更看重 内容质量 + 品牌信任 + 用户体验。 另外单靠SEO其实越来越难,很多做得好的基本都是 SEO + 社媒 + 内容营销 + 私域转化 一起做。 SEO本质还是一个长期获客渠道,但不能再当成唯一渠道了。嘻嘻在干活
3月11日 10:540
正常,收录只代表 Google 看到了页面,不代表马上给排名,“已收录但没排名”通常是因为: 关键词竞争大、页面权重低、内容不够强、页面还比较新。 先继续优化长尾关键词、内容质量和内链,通常需要一点时间,排名会慢慢出来Amelia Foster 3月6日 16:200
有截图吗子非鱼也安知鱼之乐 3月6日 09:230
别先堆优化插件,先定位瓶颈: 用 Query Monitor 看慢 SQL、慢 Hook。 暂停全部插件做对比,再逐个开启。 检查 autoload 过大(options 表)。 检查数据库索引与大表查询。 服务器 TTFB 高就先处理主机/数据库性能。嘻嘻在干活
3月3日 16:470
你好风之旅,其实真不用搞复杂的本地环境,普通人按这几步来,更新基本不会崩站👇 先备份全站,文件 + 数据库都备一下,这是底线,出问题能一键回退。 更的时候别一键全更,分批更,先更不重要的插件,再更核心的。 更新完立刻清缓存,去前台检查首页、文章页、按钮、表单这些关键位置。 最好再装个支持版本回滚的插件,万一崩了,一秒切回旧版。 总结来说:先备份、分批更、更完查、留退路,稳得很✅😎希望能帮到你bugbang 3月2日 09:550
通常不是支付没成功,而是回调(webhook)没把订单状态写回来。 排查步骤: WooCommerce → 状态 → 日志:看支付网关是否有 webhook error / signature error / timeout 检查站点是否被 WAF 拦截(Cloudflare、宝塔防火墙、安全插件) 检查是否启用了“缓存结账页/接口路径”(结账页和回调接口不应缓存) 看服务器错误日志是否有 500/致命错误导致回调执行中断 解决方案: 放行 wp-json、wc-api、支付网关回调 URL(按网关文档配置) 关闭结账页的缓存与 JS 合并压缩测试一次 若使用 Cloudflare:为回调 URL 设置 不挑战、不拦截 的规则乌拉那拉甄嬛 1月31日 09:360
1) 先判断这是“正常等待”还是“异常卡住” 可以先看 3 个信号:页面发布时间是否在 7–14 天以内、是否 只有少量页面 出现该状态、页面是否已经出现在 XML Sitemap 中。 如果三个都满足,多半属于正常爬取与评估阶段,不需要立刻动手。 2) 什么情况下“等”是没用的? 以下情况基本不会靠时间自动解决:页面几乎没有内链(孤立页)、内容与站内已有页面高度相似、canonical 指向了别的 URL、同一主题短时间发布太多相似文章。 这种情况下,Google 已经抓取,但判断“当前不值得进入索引”。 3) 最有效的人工干预方式(不折腾) 优先做这 3 件事:加内链、从相关旧文章或栏目页链接到该页面、增强首屏信息密度 前 2–3 段直接回答用户问题,避免铺垫太多,确认 canonical 为自指,避免被判定为重复页,做完再去 GSC 请求重新编入索引即可。 4) 什么“干预动作”反而容易适得其反? 不太推荐:频繁删除重发、连续多次点“请求编入索引”、为了收录强行堆关键词、随意改 URL 或标题 这些操作会让 Google 重新评估页面稳定性,反而拖慢收录。 5) 一个实用判断标准 如果一篇文章:已被抓取、没有 noindex / robots 问题、有至少 1–2 条相关内链、内容明显解决了一个独立问题,那它 是否被收录,只是时间问题,不是插件问题。帖子搬运工 1月30日 10:000
新站前期不做外链完全可以,先把内容和站内结构做好更稳。只靠内容一般能拿到收录和部分长尾词排名,但中高竞争词起量会慢。建议等网站稳定收录、有30–50篇质量内容、关键词开始进前20/30后,再少量做外链,优先品牌词/裸链/引用型,别一上来追数量。👍