[ PROMPT_NODE_24456 ]
Workers For Platforms 常见陷阱
[ SKILL_DOCUMENTATION ]
# 常见问题与限制
## 常见错误
### "Worker not found"
**原因:** 尝试获取命名空间中不存在的智能体
**解决方案:** 捕获错误并返回 404:
typescript
try {
const userWorker = env.DISPATCHER.get(workerName);
return userWorker.fetch(request);
} catch (e) {
if (e.message.startsWith("Worker not found")) {
return new Response("Worker not found", { status: 404 });
}
throw e; // 重新抛出意外错误
}
### "CPU time limit exceeded"
**原因:** 用户智能体超过了配置的 CPU 时间限制
**解决方案:** 在 Analytics Engine 中跟踪违规情况并返回 429 响应;考虑根据客户等级调整限制
### "Hostname Routing Issues"
**原因:** DNS 代理设置导致路由问题
**解决方案:** 使用 `*/*` 通配符路由,无论代理设置如何,它都能在 orange-to-orange 路由中正常工作
### "Bindings Lost on Update"
**原因:** 更新智能体时未使用 `keep_bindings` 标志
**解决方案:** 在 API 请求中使用 `keep_bindings: true` 以在更新期间保留现有绑定
### "Tag Filtering Not Working"
**原因:** 标签过滤器中的特殊字符未进行 URL 编码
**解决方案:** 对标签进行 URL 编码(例如 `tags=production%3Ayes`),并避免使用 `,` 和 `&` 等特殊字符
### "Deploy Failures with ES Modules"
**原因:** ES 模块的上传格式不正确
**解决方案:** 使用多部分表单上传,在元数据中指定 `main_module`,并将文件类型设置为 `application/javascript+module`
### "Static Asset Upload Failed"
**原因:** 哈希格式无效、令牌过期或编码不正确
**解决方案:** 哈希必须是 SHA-256 的前 16 个字节(32 个十六进制字符),在会话创建后 1 小时内上传,在上传完成后 1 小时内部署,并对文件内容进行 Base64 编码
### "Outbound Worker Not Intercepting Calls"
**原因:** 出站智能体不会拦截 Durable Object 或 mTLS 绑定 fetch
**解决方案:** 相应地规划出口控制;并非所有 fetch 调用都会被拦截
### "TCP Socket Connection Failed"
**原因:** 启用了出站智能体会阻止 TCP 套接字的 `connect()` API
**解决方案:** 出站智能体仅拦截 `fetch()` 调用;配置出站时 TCP 套接字连接不可用。如果需要 TCP,请移除出站或使用代理模式。
### "API Rate Limit Exceeded"
**原因:** 超过了 Cloudflare API 速率限制(每个账户每 5 分钟 1200 次请求,每个 IP 每秒 200 次请求)
**解决方案:** 实现指数退避:
typescript