我正在尝试将一个大约 1.5 mb 的 JSON 对象从我们的 React 客户端上传到我们的 Koa.js node.js 服务器。
我将 Koa.js 与 koaBody (koa-body 4.1.1) 一起使用。
在 HTTPS 上,在我们的生产环境中,我无法上传对象,我从我们的服务器收到状态 413。但是,在 dev 或 http 上,我上传文件没有问题。我可以将 jsonLimit 更改为“1mb”并在 dev 中复制相同的错误,因此我知道格式是正确的。
我已将配置设置为处理最多“10mb”。这是代码。
.use(koaBody({
multipart: true,
json: true,
jsonLimit: "10mb",
}))
有人有解决办法吗? 我将简单地拆分 JSON 对象,但是我想知道“为什么”这不起作用,因为对我来说 1.5 mb 并不算太大。
更新:我已将 jsonLimit 设置为“50mg”,结果没有差异。
更新:我相信这个 413 与我们通过 azure 设置的入口 Controller 有关。
最佳答案
从你的截图来看,主体大小确实约为 1.5MB(兆字节),但那是 1.5*8= ~12.5 Mb(兆位)。因此,提高 jsonLimit
来适应这一点。
您的浏览器和应用程序之间还有 nginx
。您需要确保 nginx 的主体大小限制也足够高。在您的配置中查找 client_max_body_size
- 或者如果它不存在,请为您的应用程序设置它(例如 client_max_body_size 20m;
关于node.js - 无法通过 Koa 和 koa-body HTTPS POST 1.5 mb 的 json 对象。仅状态 413 生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64071632/