• 【已解决】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}));
    
  • 相关阅读:
    用户数据报协议---UDP
    斐波那契数列
    从尾到头打印链表
    Mybatis三种查询方式
    Mybatis配置
    字典的用法
    遍历列表、切片、定义元组
    与列表相关知识
    python一些方法总结
    计算机的容量
  • 原文地址:https://www.cnblogs.com/huiwenhua/p/12652963.html
Copyright © 2020-2023  润新知