You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已设置client_max_body_size,Nginx仍返回413错误求助

解决Nginx反向代理NodeJS时POST请求实体过大的问题

从你提供的错误信息来看,limit: 102400(即100KB)是关键——这个限制并非来自Nginx(你已经在Nginx的http、server、location层级都设置了client_max_body_size 1000M),而是NodeJS应用自身的请求体大小限制。

解决步骤:

根据你使用的NodeJS框架,调整对应的请求体解析配置:

1. Express框架

Express默认的请求体解析限制是100KB,需要修改express.json()或body-parser的配置:

const express = require('express');
const app = express();

// 处理JSON格式请求,设置最大大小为1000MB
app.use(express.json({ limit: '1000mb' }));
// 处理URL编码格式请求,设置最大大小为1000MB
app.use(express.urlencoded({ extended: true, limit: '1000mb' }));

如果单独使用body-parser中间件:

const bodyParser = require('body-parser');
app.use(bodyParser.json({ limit: '1000mb' }));
app.use(bodyParser.urlencoded({ extended: true, limit: '1000mb' }));

2. Koa框架

如果使用koa-body或koa-bodyparser,调整如下:

const Koa = require('koa');
const koaBody = require('koa-body');
const app = new Koa();

app.use(koaBody({
  multipart: true, // 支持文件上传
  jsonLimit: '1000mb', // JSON请求体大小限制
  formLimit: '1000mb', // 表单请求体大小限制
  formidable: {
    maxFileSize: 1000 * 1024 * 1024 // 文件上传大小限制(1000MB)
  }
}));

3. 其他框架/自定义服务器

如果是自定义HTTP服务器或其他框架,检查请求体解析相关的配置项,找到类似limit、maxBodySize的参数并调整为合适的值。

验证

修改完成后,重启你的NodeJS应用,再发送大POST请求测试即可。

内容的提问来源于stack exchange,提问作者blizz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 12:40:35