无法通过 Koa 和 koa-body 在 1.5 mb 处使用 HTTPS POST json 对象。仅状态 413 生产

Cannot HTTPS POST json object at 1.5 mb via Koa and koa-body. Status 413 production only

我正在尝试将一个大约 1.5 MB 的 JSON 对象从我们的 React 客户端上传到我们的 Koa.js node.js 服务器。

我正在使用 Koa.js 和 koaBody (koa-body 4.1.1)。

在 HTTPS 上,在我们的生产环境中,我无法上传对象,我从我们的服务器收到状态 413。但是,在 dev 或 http 上,上传文件没有问题。我可以将 jsonLimit 更改为“1mb”并在开发中复制相同的错误,因此我知道格式正确。

我已将配置设置为处理最多“10mb”。这是代码。

.use(koaBody({
  multipart: true,
  json: true,
  jsonLimit: "10mb",
}))

有人有解决办法吗? 我将简单地拆分出 JSON 对象,但是我想知道 'why' 这不起作用,因为对我来说 1.5 mb 并不太大​​。

更新:我已将 jsonLimit 设置为“50mg”,结果没有差异。

更新:我相信这个 413 与我们通过 azure 设置的入口控制器有关。

看你的截图,正文大小确实在 1.5MB(兆字节)左右,但也就是 1.5*8= ~12.5 Mb(兆比特)。因此,请提高 jsonLimit 以适应这一点。

您的浏览器和您的应用程序之间还有 nginx。您需要确保 nginx 的主体大小限制也足够高。在您的配置中找到 client_max_body_size - 或者如果它不存在,请为您的应用程序设置它(例如 client_max_body_size 20m;