Node.js 不能通过膝关节炎和膝关节炎的身体在1.5 MB的HTTPS POST JSON对象。状态413仅限生产
我尝试将一个JSON对象从我们的反应客户端上传到我们的Ko.js No.js Server。 <>我用Koa.js膝关节炎(KoA体4.1.1)。< /P> 在HTTPS上,在我们的生产环境中,我无法上载对象,我从服务器接收到413的状态。但是,在dev或http上,我上传文件没有问题。我可以将jsonLimit更改为“1mb”,并在dev中复制相同的错误,因此我知道格式是正确的 我已将配置设置为最多可处理“10mb”。这是代码Node.js 不能通过膝关节炎和膝关节炎的身体在1.5 MB的HTTPS POST JSON对象。状态413仅限生产,node.js,reactjs,koa,koa-bodyparser,Node.js,Reactjs,Koa,Koa Bodyparser,我尝试将一个JSON对象从我们的反应客户端上传到我们的Ko.js No.js Server。 我用Koa.js膝关节炎(KoA体4.1.1)。< /P> 在HTTPS上,在我们的生产环境中,我无法上载对象,我从服务器接收到413的状态。但是,在dev或http上,我上传文件没有问题。我可以将jsonLimit更改为“1mb”,并在dev中复制相同的错误,因此我知道格式是正确的 我已将配置设置为最多可处理“10mb”。这是代码 .use(koaBody({ multipart: true,
.use(koaBody({
multipart: true,
json: true,
jsonLimit: "10mb",
}))
有人有什么解决办法吗?
我将简单地拆分JSON对象,但是我想知道这不起作用的原因,因为对我来说1.5MB不是太大。
更新:我已经将jsonLimit设置为“50mg”,结果没有差异
更新:我相信这413与我们通过azure安装的入口控制器有关。查看您的屏幕截图,机身尺寸确实在1.5MB(兆字节)左右,但这是1.5*8=~12.5MB(兆字节)。因此,提高
jsonLimit
,以适应这种情况
在浏览器和应用程序之间还有
nginx
。您需要确保nginx的体型限制也足够高。在您的配置中查找客户端\u最大\u正文\u大小
,或者如果它不存在,请为您的应用程序设置它(例如,client\u max\u body\u size 20m;
对象是1.5 Mb还是1.5 Mb?10 Mb=10/8 Mb=1.25 Mb,如果对象是1.5 Mb,这是不够的。Mb和Mb是不同的。看起来nginx
介于两者之间。请确保用于body size的nginx配置也足够大-它默认为1 Mb。我不知道。)我需要*8。这是为什么?我将jsonLimit设置为50mb,错误仍然存在。这是通过docker进行的kubernetes部署。我会通过我的云服务提供商调整nginx配置吗?1兆字节(MB)是8兆字节(MB)。MB
将是millibits
;)但是,koa body
将mb
解释为兆字节。我认为问题在于nginx配置,特别是因为它只在使用nginx的生产环境中出现故障。这帮助我查看了我们的入口控制器I设置。这可能是目前的瓶颈。@GavinThomas如果您使用的是nginx入口控制器,那么o是通过注释控制配置的机制: