Cloudflare Error 1016:DNS 指向与源站连接怎么修

遇到 Error 1016 时,先把它当成一句话:Cloudflare 无法解析到你的源站 IP(Origin DNS error)。也就是 Cloudflare 在“去找源站”的这一步,DNS 就卡住了(不是源站应用报 500 那种)。

 Error 1016

下面给你一份“10分钟定位 + 对应修复”的清单,按优先级从最常见原因开始排。

10分钟定位排查清单(照顺序做)

0–1分钟:确认哪个主机名报错

  • 只报 www?还是根域名也报?还是某个子域(如 api.)报?
  • 记录报错的完整 URL + 时间点(后面回溯用)
0–1分钟:确认哪个主机名报错

1–3分钟:检查 Cloudflare DNS 里“该主机名”的记录是否存在

打开 Cloudflare 控制台 → DNS → 找到对应主机名:

  • 根域名通常应有 A(或 AAAA)指向源站 IP
  • www 通常是 CNAME 指向根域名或源站域名

3–5分钟:用 DNS 命令验证“真的解析得到”

在你的电脑/服务器上跑(任选其一):

dig +short A yourdomain.comdig +short CNAME www.yourdomain.comnslookup yourdomain.com 1.1.1.1nslookup yourdomain.com 8.8.8.8

你要看到的是:

  • A 记录能返回真实公网 IP
  • 如果是 CNAME,CNAME 目标域名也能继续解析出 A/AAAA

如果 A/AAAA 返回空,或 CNAME 目标解析不出来,基本就锁定了 Error 1016 的根因

DNS A record vs CNAME

5–7分钟:重点检查“CNAME 目标是否可解析”

如果你的记录是:www -> CNAME -> 某个外部域名

  • 立刻去查目标域名是否能解析出 A/AAAA
  • 常见坑:目标域名过期、DNS 被删、服务商换了记录、写了拼写错误

7–9分钟:你是否在用 Load Balancer / Tunnel / Spectrum?

按你的使用情况对号入座:

A) Cloudflare Load Balancer

  • 检查 pool 里的 origin hostnames 是否都可解析
  • 建议配置一个**回退池(fallback pool)**直接写源站 IP,避免“所有主机名都解析失败”导致 1016

B) Cloudflare Tunnel(cloudflared)

  • DNS 记录指向 tunnel 但 tunnel 没跑,会出现 1016
    快速验证:
    • 看你的 tunnel 服务是否在线(系统服务、容器、守护进程)
    • 重启 cloudflared,或恢复到有 A 记录直连源站的方案

C) Spectrum(CNAME origin)

  • 官方提示:做 Spectrum 的 CNAME origin 前,需要先在 Cloudflare DNS 侧创建指向 origin 的 CNAME,否则可能触发 1016

9–10分钟:是否属于 “Cloudflare for SaaS / SSL for SaaS / Workers” 特殊场景?

如果你在做 SaaS 自定义域名或 Workers 子请求,Error 1016 的含义会更“配置化”:Cloudflare 会提示自定义主机名无法路由或代理。

Cloudflare for SaaS / SSL for SaaS 常见原因(官方列项):

  • 自定义主机名的所有权验证未完成
  • fallback origin 未正确设置
  • 你用了通配符自定义主机名,但请求的 hostname 对应的域在 Cloudflare 里同时作为“独立 zone”存在,优先级冲突
  • SaaS 目标 zone 里没有对应 hostname 的 DNS 记录
  • 自定义主机名未处于 active 状态

Workers 场景

  • 如果是 Worker 的 fetch() 子请求打到 Partial(CNAME)Setup zone:需要确保该 hostname 在 Cloudflare zone 内存在(而不是只在权威 DNS 里)。

按场景给出“最直接的修复动作

场景1:缺 A 记录 / A 记录 IP 错了

  1. 在 Cloudflare DNS 添加或修正该主机名的 A 记录(指向正确源站公网 IP)
  2. 等待 TTL 生效(通常几分钟到几十分钟)
  3. 再用 dig/nslookup 验证返回正确 IP
使用dig与nslookup验证DNS解析结果(Error 1016)

场景2:CNAME 指向的目标域不可解析

修复目标域名的 DNS(让它能解析出 A/AAAA),或直接把 CNAME 改为 A 记录指向源站 IP(更稳、更直观)

DNS解析过程与NXDOMAIN错误流程

场景3:Tunnel 没跑

  1. 确认 cloudflared 进程/容器在线
  2. 恢复自启动与重启策略
  3. 若短期无法恢复,临时改回 A 记录直连源站,先恢复可用性

场景4:Load Balancer 的池域名解析失败

  1. 把 pool 里的 origin hostname 修到可解析
  2. 配置一个 fallback pool 直接写源站 IP,避免全挂时 1016
负载均衡参考架构

场景5:Cloudflare for SaaS 自定义域名报 1016

  1. 查自定义 hostname 是否 active(验证是否完成)
  2. 确认 fallback origin DNS 记录存在且已设置
  3. 避免 wildcard hostname 与独立 zone hostname 优先级冲突

修复后如何验证“真的好了”

  • dig/nslookup 分别查 1.1.1.18.8.8.8,确认解析一致
  • 浏览器无痕访问 https://域名/ 与报错路径
  • 若你有多地区用户:用在线 DNS 检查工具从不同地区看解析是否一致(官方也建议用 DNS lookup 工具验证记录可解析)

需要提交给支持/同事的最小信息包

如果你要把问题交给主机商、同事或 Cloudflare 支持,建议一次性提供:域名、报错 URL、发生时间、DNS 记录截图、你本地 dig/nslookup 输出、是否使用 Tunnel/LB/Workers/SaaS。Cloudflare 也有专门的“故障信息收集”指引,核心就是把这些关键字段带齐。



联系我们
教程看不懂?联系我们为您免费解答!免费助力个人,小企站点!
客服微信
客服微信
电话:020-2206-9892
QQ咨询:1025174874
邮件:info@361sale.com
工作时间:周一至周五,9:30-18:30,节假日休息
© 转载声明
本文作者:Abby
THE END
喜欢就支持一下吧
点赞82 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容