【已解決】K8s + Ingress + Nodejs代理服務報錯:413 Request Entity Too Large


在使用nodejs作為代理服務時,遇到上傳文件報錯:413 Request Entity Too Large,在網上查了很多資料,大多是解決nodejs文件大小限制,經過反復排查,終於將問題定位到k8s路由(Ingress)配置。

一、解決方案

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

// 我們業務中需要將近100M文件打下,所以設置了100M,具體業務具體對待
nginx.ingress.kubernetes.io/proxy-body-size: 100M

WX20200407-133508@2x.png
配置更新后上傳文件正常。

二、記錄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}));


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM