1.报错信息
查看 Nginx 的 error.log 日志:
client intended to send too large body: 1434541 bytes
2.问题解决
nginx 使用 client_max_body_size 属性限制上传文件大小。它可以出现在 http, server, location 中。出现在不同的位置,表示其作用域不同。三者的关系如下:
http{
server{
location / {
}
}
}
- http的作用域 > server的作用域
- server的作用域 > location 的作用域
http{
client_max_body_size 1M;
server{
server_name localhost;
client_max_body_size 10M;
location =/upload {
client_max_body_size 100M;
}
}
}
-
http 作用域范围内,上传的文件最大为1M
-
server 作用域范围内(使用 [http://localhost/xxx](http://localhost/xxx) 访问的应用),上传的文件最大为10M
-
location 作用域范围内(使用 [http://localhost/upload](http://localhost/upload) 访问的应用),上传的文件最大为100M
client_max_body_size的默认值为1M。
client_max_body_size的特殊值0:为 0 时,将不限制上传文件大小。