Nginx设置上传文件大小上限

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️⃣ 在合适的位置添加:

可以放在以下任意一层(推荐 serverlocation):

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
喜欢就支持一下吧
点赞10 分享