客户端收到413 Request Entity Too Large错误该如何解决?

今天在做图片上传的时候,生产环境莫名其妙出现一个问题

bash 复制代码
413 Request Entity Too Large

搜了一圈,发现Nginx默认的上传文件大小限制为1MB,超过该限制会导致客户端收到413 Request Entity Too Large错误!!! 以下是解决方案:


1. 修改Nginx配置文件 在Nginx配置文件中(通常为nginx.conf或站点配置文件),通过client_max_body_size指令调整限制:

nginx 复制代码
# 全局生效(http块)
http {
    client_max_body_size 20M;  # 设置为20MB,按需调整
    ...
}

# 或针对特定Server生效(server块)
server {
    client_max_body_size 20M;
    ...
}

# 或针对特定路由生效(location块)
location /upload {
    client_max_body_size 20M;
    ...
}

说明: • http块配置全局生效,server块作用于站点,location块作用于具体路径。

• 支持单位:k(KB)、m(MB)、g(GB)。


2. 重启Nginx服务 修改配置后需重载配置(无需完全重启):

bash 复制代码
nginx -s reload

3. 其他注意事项 • 后端服务限制:若后端(如PHP、Laravel)也有文件大小限制,需同步调整(如php.ini中的upload_max_filesizepost_max_size)。

• 缓冲区优化:若上传大文件,可调整client_body_buffer_sizeclient_header_buffer_size减少磁盘I/O。

• 安全风险:将client_max_body_size设为0可禁用限制,但可能引发资源耗尽攻击,需谨慎使用。


小结

通过修改Nginx的client_max_body_size参数并重载配置,即可解决文件上传大小超限问题。若需更细粒度控制,可结合serverlocation块配置。

相关推荐
東雪蓮☆5 小时前
从零开始掌握 Web 与 Nginx:入门详解
运维·服务器·前端·nginx
✎﹏赤子·墨筱晗♪8 小时前
基于Nginx实现反向代理、负载均衡与动静分离完整部署指南
运维·nginx·负载均衡
草履虫建模9 小时前
在 RuoYi 中接入 3D「园区驾驶舱」:Vue2 + Three.js + Nginx
运维·开发语言·javascript·spring boot·nginx·spring cloud·微服务
游九尘14 小时前
服务器都是用的iis, 前端部署后报跨域,不是用同一个服务器 是前端项目的服务器做Nginx转发,还是后端项目的服务器做Nginx转发?
服务器·前端·nginx
三坛海会大神55514 小时前
nginx中配置https详解:配置SSL/TLS证书
nginx·https·ssl
✎﹏赤子·墨筱晗♪15 小时前
Nginx 配置 SSL/TLS 全指南:从安装到安全强化
nginx·安全·ssl
m0_4646082615 小时前
Nginx SSL/TLS 配置
运维·nginx·ssl
荣光波比1 天前
Nginx 实战系列(七)—— Nginx一键安装脚本详解
运维·nginx·自动化·云计算
Linux运维技术栈1 天前
域名网页加载慢怎么解决:从测速到优化的全链路性能优化实战
运维·网络·nginx·性能优化·cloudflare
荣光波比1 天前
Nginx 实战系列(六)—— Nginx 性能优化与防盗链配置指南
运维·nginx·性能优化·云计算