在 Nginx 中,上传文件大小的上限由指令 client_max_body_size 控制。默认是 1MB,超过就会报:
413 Request Entity Too Large
🧭 一、修改方法
1️⃣ 编辑配置文件
打开你的网站配置文件,比如:
sudo nano /etc/nginx/nginx.conf
或某个虚拟主机文件:
sudo nano /etc/nginx/sites-available/example.conf
2️⃣ 在合适的位置添加:
可以放在以下任意一层(推荐 server 或 location):
http {
client_max_body_size 100M;
...
}
server {
client_max_body_size 100M;
...
}
location /upload {
client_max_body_size 100M;
...
}
🧱 二、保存并重启 Nginx
执行命令让配置生效:
sudo nginx -t # 检查配置是否正确
sudo systemctl reload nginx # 平滑重载配置
⚙️ 三、如果你有反向代理
如果 Nginx 只是前端代理(例如转发到后端 PHP、Node.js、FastAPI 等),
则还要 同时在后端配置相同的限制,否则后端也可能拒绝大文件请求。
例如:
-
PHP-FPM: 在
php.ini中修改:upload_max_filesize = 100M post_max_size = 100M -
FastAPI / Flask: 通常通过应用代码或 ASGI 服务器限制。
🧩 四、检查当前值(验证)
可以通过添加一个简单的测试页:
location /info {
default_type text/plain;
return 200 "client_max_body_size = 100M\n";
}
或者直接在上传时观察是否仍报 413 错误。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
