在使用nodejs作为代理服务时,遇到上传文件报错:413 Request Entity Too Large,在网上查了很多资料,大多是解决nodejs文件大小限制,经过反复排查,终于将问题定位到k8s路由(Ingress)配置。

一、解决方案

修改路由(Ingress)配置YAML,添加proxy-body-size设置。

// 我们业务中需要将近100M文件打下,所以设置了100M,具体业务具体对待
nginx.ingress.kubernetes.io/proxy-body-size: 100M

【已解决】K8s + Ingress + Nodejs代理服务报错:413 Request Entity Too Large
配置更新后上传文件正常。

二、记录Express设置文件limit

在这里顺便记录下express如何设置文件上传大小限制(Express 4.x.x)。

// 安装body-parser
npm install --save body-parser

// 使用body-parser中间件
var bodyParser = require("body-parser");
app.use(bodyParser.json({limit: '100mb'}));
app.use(bodyParser.urlencoded({limit: '100mb', extended: true, parameterLimit:100000}));

相关文章:

  • 2022-12-23
  • 2021-08-09
  • 2021-05-22
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-04
  • 2022-12-23
  • 2022-12-23
  • 2022-02-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案