缺省 nginx client_max_body_size

我已经得到了 nginx 错误:

413 Request Entity Too Large

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

168728 次浏览

client_max_body_size指令的默认值是 1MiB

它可以在 httpserverlocation上下文中设置ーー就像在 大多数情况下中一样, 这个 嵌套块中的指令优先于祖先块中的同一指令

摘自 Ngx _ http _ core _ module 文档:

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

中指定的客户端请求正文的最大允许大小 “ Content-Llength”请求头字段。如果请求中的大小 超过配置值时,出现413(请求实体太大)错误 返回到客户端。请注意,浏览器不能 正确显示此错误。将大小设置为0将禁用 客户要求的体型。

不要忘记 < a href = “ https://nginx.org/en/docs/starners _ guide.html”rel = “ noReferrer”> 重新加载配置 通过 nginx -s reloadservice nginx reload命令预先与 sudo(如果有的话)。

可以像下面这样增加 nginx 配置文件的正文大小

Sudo nano/etc/nginx/nginx.conf

Client _ max _ body _ size 100M;

重新启动 nginx 以应用更改。

重新启动 sudo 服务

Pooja Mane 的答案为我工作,但我不得不把 Client _ max _ body _ size变量内的 译注:部分。

enter image description here

必须在 nginx.conf文件中增加 client _ max _ body _ size。这是最基本的步骤。但是,如果您的后端 laravel,那么您必须做一些变化,在 php.ini文件以及。这取决于你的后端。下面我提到了文件位置和条件名。

sudo vim /etc/nginx/nginx.conf.

打开文件后,将其添加到 HTTP 部分。

client_max_body_size 100M;

Nginx client_max_body_size的默认值是 1MB

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

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

http {
...
client_max_body_size 100M;
}

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

server {
...
client_max_body_size 100M;
}

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

location /uploads {
...
client_max_body_size 100M;
}

了解更多信息

这适用于新的 AWS Linux 2环境。要解决这个问题,您需要包装您的配置文件。如果您正在使用 Docker,那么您应该有一个包含 Dockerrun.aws.json的 zip 文件(我的文件名为 deploy.zip)。如果你没有-这是相当容易修改,只是压缩您的部署通过 zip -r deploy.zip Dockerrun.aws.json

这样,您现在需要添加一个 .platform文件夹,如下所示:

APP ROOT
├── Dockerfile
├── Dockerrun.aws.json
├── .platform
│   └── nginx
│       └── conf.d
│           └── custom.conf

您可以将 custom.conf命名为任何您想要的名称,并且可以拥有任意数量的文件。在 custom.conf中,您只需要在其中放置以下内容

client_max_body_size 50M;

或任何你想要的配置。与此-修改您的压缩文件现在是

zip -r deploy.zip Dockerrun.aws.json .platform

您的 Nginx 服务器现在将尊重新的命令

详情请浏览这里: https://blog.benthem.io/2022/04/05/modifying-nginx-settings-on-elasticbeanstalk-with-docker.html