【Nginx系列】413 Request Entity Too Large
·

博客目录
修改 Nginx 配置来解决 413 Request Entity Too Large 错误,需要调整以下几个配置项:

1. 修改 Nginx 主配置文件
在 http 块中设置(全局生效):
http {
# 设置客户端最大请求体大小,默认通常是 1M
client_max_body_size 20M; # 设置为 20M,根据需求调整
# 其他配置...
}
在 server 块中设置(针对特定虚拟主机):
server {
listen 80;
server_name test-cloud-test.test.com;
# 设置客户端最大请求体大小
client_max_body_size 20M;
# 其他配置...
}
在 location 块中设置(针对特定路径):
server {
listen 80;
server_name test-cloud-test.test.com;
location /api/openapi/chat/files/upload {
# 针对文件上传接口设置更大的限制
client_max_body_size 50M;
# 如果需要,还可以设置超时时间
client_body_timeout 60s;
proxy_read_timeout 60s;
# 其他代理配置...
}
}
2. 完整的配置示例
server {
listen 80;
server_name test-cloud-test.test.com;
# 全局客户端最大请求体大小
client_max_body_size 20M;
# 客户端请求体超时时间
client_body_timeout 60s;
# 客户端请求头超时时间
client_header_timeout 60s;
# 客户端请求体缓冲区大小
client_body_buffer_size 128k;
location / {
# 可以在这里设置更小的限制
client_max_body_size 10M;
# 其他配置...
}
location /api/openapi/chat/files/upload {
# 文件上传接口允许更大的文件
client_max_body_size 50M;
client_body_timeout 120s;
proxy_read_timeout 120s;
# 代理配置(如果有)
proxy_pass http://backend_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
3. 修改后的操作步骤
步骤 1:找到 Nginx 配置文件
# 查找 nginx 配置文件位置
nginx -t
# 或者
ps aux | grep nginx
# 常见的配置文件路径:
# /etc/nginx/nginx.conf
# /etc/nginx/conf.d/default.conf
# /etc/nginx/sites-available/default
步骤 2:编辑配置文件
sudo vim /etc/nginx/nginx.conf
# 或者
sudo vim /etc/nginx/conf.d/default.conf
步骤 3:测试配置语法
sudo nginx -t
步骤 4:重新加载配置
# 平滑重载配置(不中断服务)
sudo nginx -s reload
# 或者重启 nginx
sudo systemctl restart nginx
# 或者
sudo service nginx restart
4. 针对不同场景的建议值
# 小型图片上传
client_max_body_size 5M;
# 一般文件上传
client_max_body_size 20M;
# 大型文件上传(视频、压缩包等)
client_max_body_size 100M;
# 无限制(不推荐)
client_max_body_size 0;
5. 检查配置是否生效
# 检查当前配置
curl -I -X POST https://test-cloud-test.test.com/api/openapi/chat/files/upload
# 或者查看 nginx 错误日志
tail -f /var/log/nginx/error.log
注意事项:
- 权限问题:确保 Nginx 进程有权限读取上传的大文件
- 磁盘空间:确保服务器有足够的磁盘空间存储上传的文件
- 超时设置:大文件上传可能需要更长的超时时间
- 安全考虑:不要随意设置为无限制,避免被恶意利用
根据你的实际需求选择合适的 client_max_body_size 值,然后重新加载 Nginx 配置即可。
觉得有用的话点个赞
👍🏻呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
更多推荐



所有评论(0)