You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloudflare Worker无法转发部分POST请求,报Cannot reconstruct a Request错误

错误原因及解决办法:Cannot reconstruct a Request with a used body.

错误的核心原因是:Request对象的body是一次性可读流,当你执行let fwd_request = new Request(request);时,这个操作会尝试读取原request的body流来创建新的请求对象,此时原request的body就被消耗掉了。后续你调用fetch(request)转发原请求时,request的body已经被用过,无法再次读取,所以抛出了这个TypeError。

你的代码里虽然没直接使用fwd_request,但创建这个对象的动作已经触发了原request body的读取,导致后续fetch操作失败。

解决办法

有两种可行的修复方案:

  • 方案一:直接使用你创建的fwd_request来转发请求,替代原request:
if (!auth) {       
  console.log(`forwarded: ${request.url}`)
  return fetch(fwd_request);
}
  • 方案二:如果不需要fwd_request这个变量,直接删除它,避免不必要的request复制操作:
export default {
  async fetch(request, env, ctx) {
    ctx.passThroughOnException();

    const headers = request.headers;
    const auth = headers.get('Authorization')
    if (!auth) {       
      console.log(`forwarded: ${request.url}`)
      return fetch(request);
    }
    ...
  }
}

内容的提问来源于stack exchange,提问作者reachlin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 03:39:55