Cloudflare Workers 脚本部署后返回 1101 错误怎么处理?

文章导读
Cloudflare 错误 1101 通常不是脚本代码逻辑问题,而是域名 DNS 解析或路由配置导致的边缘错误,优先检查自定义域名绑定和 DNS 记录是否正确指向 Workers。
📋 目录
  1. 快速处理思路
  2. 为什么会这样
  3. 分步处理
  4. 进阶排查:查看 Worker 实时日志
  5. 怎么验证是否生效
  6. 常见坑
  7. 参考来源
A A

Cloudflare 错误 1101 通常不是脚本代码逻辑问题,而是域名 DNS 解析或路由配置导致的边缘错误,优先检查自定义域名绑定和 DNS 记录是否正确指向 Workers。

先说结论:1101 错误代表 Origin DNS Error,在 Workers 场景下多因自定义域名 DNS 未生效或绑定冲突引起,而非脚本本身报错。

  • 先确认:使用默认的 workers.dev 子域名访问,判断是代码问题还是域名配置问题。
  • 先处理:检查 Cloudflare 后台自定义域名绑定状态及 DNS 记录 CNAME 指向。
  • 再验证:清除浏览器及 Cloudflare 缓存后,通过 dig 或 curl 确认 DNS 解析路径。

快速处理思路

由于 1101 错误涉及 DNS 和路由层面,主要操作在 Cloudflare dashboard 和本地 DNS 查询工具,以下是核心排查路径:

1. 切换测试 URL:暂时使用 script-name.username.workers.dev 访问,若正常则排除代码错误。

2. 检查域名绑定:在 Workers 面板的 Triggers 或 Custom Domains 处,确认域名绑定状态为 Active。

3. 核对 DNS 记录:确保域名 DNS 记录中 CNAME 指向了正确的 workers.dev 地址,且代理状态(Proxy status)符合预期。

为什么会这样

Cloudflare 官方文档将 1101 错误定义为 Origin DNS Error,意味着 Cloudflare 边缘节点无法解析源服务器的 DNS。

对于传统网站,这通常指源站 IP 无法解析;但对于 Workers,脚本运行在 Cloudflare 边缘,理论上没有传统“源站”。当出现 1101 时,通常是因为你绑定了自定义域名,而 Cloudflare 内部路由或外部 DNS 传播存在不一致,导致边缘节点在尝试定位该域名对应的 Worker 路由时发生了 DNS 解析层面的失败。

简单说,这不是你的 JavaScript 代码抛出了异常,而是请求还没进到代码里,就在门口被 DNS 配置拦住了。

分步处理

第一步:隔离问题范围

直接使用 Workers 分配的默认子域名访问。如果默认域名正常,自定义域名报错,则确定是域名配置问题,无需修改代码。

第二步:检查自定义域名绑定

登录 Cloudflare 控制台,进入 Workers 项目页面,找到 Triggers 或 Custom Domains 选项卡。确认绑定的域名状态显示为正常,若显示错误或 pending,尝试移除后重新添加。

第三步:核对 DNS 记录

进入 Cloudflare DNS 设置页面,查找该自定义域名的 CNAME 记录。确保其指向格式正确(通常为 workers.dev 子域名),且记录已保存。注意不要存在多条冲突的 CNAME 或 A 记录。

第四步:清除缓存

进入 Cloudflare 控制台 Caching 页面,选择 Configuration。建议优先使用 Purge by URL 清除特定路径缓存。若必须使用 Purge Everything,请注意这会清除整个 Zone 下所有资源的缓存,可能影响同域名下的其他服务,操作前请确认影响范围。

进阶排查:查看 Worker 实时日志

若 DNS 配置无误但仍报错,可通过日志确认请求是否到达边缘节点。

Cloudflare Workers 脚本部署后返回 1101 错误怎么处理?

1. 控制台实时日志:在 Workers 项目页面点击 Logs 标签,开启 Real-time logs。刷新浏览器触发请求,观察是否有日志生成。若 1101 错误期间无日志,说明请求未到达 Worker 执行环境,确认为 DNS 或路由层问题。

2. 命令行日志:若使用 Wrangler CLI,可运行 wrangler tail 实时监听日志输出。

怎么验证是否生效

1. 本地 DNS 查询

在终端使用 dig 命令查询域名 CNAME 记录,确认解析路径是否指向 Cloudflare:

dig CNAME your-custom-domain.com

观察 ANSWER SECTION 是否包含 workers.dev 相关指向。

2. 请求头检查

使用 curl 查看响应头,确认 Server 字段包含 cloudflare,且状态码变为 200:

curl -I https://your-custom-domain.com

3. 页面表现

浏览器无痕模式访问,若不再出现 1101 错误页面,且能正常显示脚本返回内容,则修复成功。

常见坑

1. DNS 传播延迟

修改 DNS 记录后,全球生效需要时间,部分地区可能仍解析到旧 IP,导致间歇性 1101。

2. SSL 配置误区

Workers 自定义域名自动管理 HTTPS 证书,无需在 SSL/TLS 设置中手动调整加密模式。若遇到 HTTPS 相关报错,请检查域名是否已成功绑定并在 Workers 面板显示为 Active。

3. 记录冲突

确保没有同时存在 A 记录和 CNAME 记录指向同一主机名,这会导致解析优先级混乱。

参考来源

  • Cloudflare Support, "Troubleshooting Cloudflare 1xxx Errors", https://developers.cloudflare.com/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-1xxx-errors/
  • Cloudflare Developers, "Workers - Custom Domains", https://developers.cloudflare.com/workers/platform/custom-domains/