【发布时间】:2015-04-13 03:21:27
【问题描述】:
我一直收到 nginx 错误:
413 Request Entity Too Large
我已经能够将我的 nginx.conf 文件的服务器部分中的client_max_body_size 更新为 20M,这已经解决了这个问题。但是,默认的nginxclient_max_body_size是什么?
【问题讨论】:
标签: nginx
我一直收到 nginx 错误:
413 Request Entity Too Large
我已经能够将我的 nginx.conf 文件的服务器部分中的client_max_body_size 更新为 20M,这已经解决了这个问题。但是,默认的nginxclient_max_body_size是什么?
【问题讨论】:
标签: nginx
client_max_body_size 指令的默认值为 1 MiB。
它可以在http、server 和location 上下文中设置——就像在most cases 中一样,
这个嵌套块中的指令优先于祖先块中的相同指令。
摘自ngx_http_core_module documentation:
Syntax: client_max_body_size size; Default: client_max_body_size 1m; Context: http, server, location设置客户端请求正文的最大允许大小,在 “Content-Length”请求头字段。如果请求中的大小 超过配置值,出现 413 (Request Entity Too Large) 错误 被退回给客户。请注意,浏览器不能 正确显示此错误。将大小设置为 0 禁用检查 客户端请求正文大小。
别忘了reload configuration
通过nginx -s reload 或service nginx reload 前面带有sudo(如果有)的命令。
【讨论】:
nginx -s reload 应用配置更改之前,您应该使用nginx -t 测试您的配置。它不能保证你的配置是正确的,但它会捕获语法错误或无效值。
nginx -s reload 不会应用语法错误的配置,而是会报错。
off_t 类型大小(请参阅ngx_http_core_module.h)。对于 64 位可执行文件off_t size is 64 bit,最大值应为 2^63 字节。
你可以在nginx配置文件中增加body size
sudo nano /etc/nginx/nginx.conf
client_max_body_size 100M;
重启 nginx 以应用更改。
sudo 服务 nginx 重启
【讨论】:
Nginx client_max_body_size 的默认值为 1MB
您可以通过三种不同的方式更新此值
http 块中。http {
...
client_max_body_size 100M;
}
server 块中设置,这会影响特定的站点/应用程序。server {
...
client_max_body_size 100M;
}
location 块中设置,它会影响站点/应用程序下的特定目录(上传)。location /uploads {
...
client_max_body_size 100M;
}
欲了解更多信息click here
【讨论】:
您必须增加nginx.conf 文件中的client_max_body_size。这是基本步骤。但是,如果您的后端 laravel 那么您还必须在 php.ini 文件中进行一些更改。这取决于你的后端。下面我提到了文件位置和条件名称。
sudo vim /etc/nginx/nginx.conf.
打开文件后将其添加到 HTTP 部分。
client_max_body_size 100M;
【讨论】: