默认nginx client_max_body_size

Adr*_*ann 67 nginx

我一直在收到nginx错误:

413 Request Entity Too Large
Run Code Online (Sandbox Code Playgroud)

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

ruv*_*vim 100

client_max_body_size指令的默认值是1 MiB.

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

摘录自ngx_http_core_module文档:

Syntax:   client_max_body_size size;
Default:  client_max_body_size 1m;
Context:  http, server, location
Run Code Online (Sandbox Code Playgroud)

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

不要忘了重新加载配置 通过nginx -s reloadservice nginx reload命令的前面加上sudo(如果有的话).

  • 稍后请注意,在运行“ nginx -s reload”以应用配置更改之前,应使用“ nginx -t”来测试您的配置。它不能保证您的配置正确,但是会捕获语法错误或无效值。 (2认同)
  • 是的,但无论如何,`nginx -s reload` 不会应用语法错误的配置,但会报告错误。 (2认同)

Ale*_*kin 12

Pooja Mane的回答对我有用,但我不得不将client_max_body_size变量放在http部分中.

在此输入图像描述


小智 11

你可以在nginx配置文件中增加体型

sudo nano /etc/nginx/nginx.conf

client_max_body_size 100M;

重新启动nginx以应用更改.

sudo服务nginx重启

  • 为什么是100M?为什么不是100G?如果您添加了基本原理,您的答案将会有所改善。 (6认同)
  • 是的,42M会更好。 (4认同)
  • 设置为 0 表示无限制 (4认同)

Emd*_*won 9

Nginx的默认值client_max_body_size就是1MB

您可以通过三种不同的方式更新此值

1.设置在http影响所有服务器块(虚拟主机)的块中。

http {
    ...
    client_max_body_size 100M;
}
Run Code Online (Sandbox Code Playgroud)

2. 设置在server块中,这会影响特定的站点/应用程序。

server {
    ...
    client_max_body_size 100M;
}
Run Code Online (Sandbox Code Playgroud)

3.设置在location块中,这会影响站点/应用程序下的特定目录(上传)。

location /uploads {
    ...
    client_max_body_size 100M;
}
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请单击此处