浏览器Post请求出现413 Request Entity Too Large (Nginx)

环境

操作系统 window server 2016

前端项目 Vue2

Nginx-1.25.3

一、错误信息

前端是vue项目,打包后部署在Nginx上,前端post请求出现Request Entity Too Large错误信息。

​这种问题一般是请求实体太大(包含参数,文件等)。客户端发送的实体主体部分比服务器能够或者限制处理的要大。 出现这个状态码的一般都是上传接口。 ​

二、调查问题

通过浏览器F12调试,重新问题,出现下面的错误信息

发现状态码仍然是413 ,发现请求头内容中Content-Length:139116246, 这里Contentlength单位是字节(Byte),下面139116246换算成MB就是139MB左右。

换算网站https://www.elecfans.com/tools/zijiehuansuan.html

Content-Length 是一个实体消息首部,用来指明发送给接受方的消息主体的大小。Content-Length首部指示出报文中实体主体的字节大小。这个大小是包含了所有内容编码的, 比如,对文本文件进行了gzip压缩的话,Content-Length首部指的就是压缩后的大小而不是原始大小。

到这里就需要检查Nginx设置的client_max_body_size参数,我当前环境设置的

复制代码
client_max_body_size  100m;

所以原因是nginx设置限制了文件大小,请求文件超过了服务器限制!

三、问题原因

nginx设置client_max_body_size限制了文件大小,请求文件超过了服务器限制!

三、解决办法

修改Nginx设置,调整client_max_body_size 具体的大小值,默认为1m,此时可调整大小,我这里设置为200m。

3.1 修改位置

可以选择在http{ }中设置:client_max_body_size 200m;

也可以选择在server{ }中设置:client_max_body_size 200m;

还可以选择在location{ }中设置:client_max_body_size 200m;

3.2 三者有区别

设置到http{}内,控制全局nginx所有请求报文大小

设置到server{}内,控制该server的所有请求报文大小

设置到location{}内,控制满足该路由规则的请求报文大小

修改完成后需要重启Nginx,然后才会生效!

相关推荐
志栋智能1 天前
释放人力,聚焦创新:超自动化巡检的战略意义
大数据·运维·网络·人工智能·安全·自动化
小比特_蓝光1 天前
Linux权限
linux·运维·服务器
wanhengidc1 天前
选择站群服务器的好处
运维·服务器·网络·安全·智能手机
AC赳赳老秦1 天前
OpenClaw核心命令详解(常用指令+实战示例,高效开启自动化工作)
大数据·运维·人工智能·自动化·ai-native·deepseek·openclaw
RoboWizard1 天前
解锁高效办公新体验 金士顿高速闪存盘
运维·服务器·网络·缓存·智能手机
Trouvaille ~1 天前
【项目篇】从零手写高并发服务器(五):Channel事件管理与Poller模块
运维·服务器·c++·reactor·高并发·多路转接·epoll
蓝队云计算1 天前
部署OpenClaw选什么服务器?2核4G+10M带宽配置的蓝队云服务器轻松搞定!
运维·服务器·人工智能·云服务器·openclaw
羑悻的小杀马特1 天前
Apache IoTDB:开启端边云协同的时序数据新时代
运维·人工智能·apache·iotdb
九河云1 天前
云供应链安全:第三方 SaaS 服务的风险评估与管控
大数据·运维·安全·架构·数字化转型
dys_Codemonkey1 天前
如何在树莓派上用 VS Code 优雅直连内部的 Ubuntu 子系统/容器用来访问容器内的文件和代码?
linux·运维·ubuntu·树莓派