默认nginx client_max_body_size


94

我一直在收到nginx错误:

413 Request Entity Too Large

我已经能够将client_max_body_size我的nginx.conf文件的server部分中的更新为20M,这已解决了该问题。但是,默认的nginx是client_max_body_size什么?

Answers:


137

client_max_body_size指令的默认值为1 MiB

它可以被设置在httpserverlocation语境-如在大多数情况下,该指令在嵌套块优先于祖先块相同的指令

摘自ngx_http_core_module文档

Syntax:   client_max_body_size size;
Default:  client_max_body_size 1m;
Context:  http, server, location

设置客户端请求正文的最大允许大小,在“ Content-Length”请求标头字段中指定。如果请求中的大小超过配置的值,则会向客户端返回413(请求实体太大)错误。请注意,浏览器无法正确显示此错误。将size设置为0将禁用对客户端请求主体大小的检查。

不要忘记 使用或以命令开头(如果有的话)重新加载配置nginx -s reloadservice nginx reloadsudo


2
稍后请注意,nginx -t在运行nginx -s reload以应用配置更改之前,应先测试一下配置。它不能保证您的配置正确,但是会捕获语法错误或无效值。
kungphu

2
是的,但是在任何情况下nginx -s reload都不会应用语法错误的配置,但是会报告错误。
ruvim '18

Nginx支持此指令的最大值是多少?文档中没有任何内容。Apache最大支持2GB
Dan Dascalescu,

@DanDascalescu,最大值取决于off_t类型大小(请参阅参考资料ngx_http_core_module.h)。如果off_t是64位,则可执行文件大小为64位,最大值应为2 ^ 63字节。
ruvim

19

Pooja Mane的答案对我有用,但是我必须将client_max_body_size变量放在http部分中。

在此处输入图片说明


1
当人们放置代码片段时,我喜欢它,您是英雄
Charden Daxicen

13

您可以通过以下方式在nginx配置文件中增加主体大小:

须藤nano /etc/nginx/nginx.conf

client_max_body_size 100M;

重新启动nginx以应用更改。

sudo服务nginx重启


10
为什么是100M?为什么不是100G?如果您添加了基本原理,您的答案将会有所改善。
哈桑·拜格,

10
是的,42M会更好。
Evgeni Nabokov

2
将其设置为0
即可无限听
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.