413在Node JS项目中请求实体太大

时间:2018-04-30 13:24:07

标签: node.js google-app-engine nginx

我在GAE上部署了我的后端应用程序。在其中,我有一个API,它将文件上传到GCS存储桶。 最近我尝试上传超过50mb的文件并获得413 Request entity too large

做了一些研究,发现问题出在ngnix。 API将为任何文件提供413> 32MB。

找到一个解决方案,其中提到包含ngnix.conf文件并在其中添加client_max_body_size 80M。 我这样做但仍然得到同样的错误。

这是我的ngnix-app.conf文件

server{
 location / {
        client_max_body_size       80m;
        client_body_buffer_size    512k;
  }
}

我错过了哪些明显的错误?

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法在Node.Js应用程序中更改请求缓冲区大小:

app.use(bodyParser.json({limit: '50mb'})); 
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));

您还可以在nginx配置中增加请求

server{
 location / {
        client_max_body_size       xxm;
        client_body_buffer_size    xxm;
  }
}