我得到了nginx错误:
413 Request Entity Too Large
字符串我已经能够在nginx.conf文件的服务器部分更新我的client_max_body_size到20M,这已经解决了这个问题。但是,默认的nginx client_max_body_size是什么?
client_max_body_size
cx6n0qe31#
client_max_body_size指令的默认值为1 MiB。它可以在http、server和location上下文中设置-在大多数情况下,嵌套块中的指令优先于祖先块中的相同指令。摘自ngx_http_core_module文档:
http
server
location
Syntax: client_max_body_size size;Default: client_max_body_size 1m;Context: http, server, location
Syntax: client_max_body_size size;
Default: client_max_body_size 1m;
Context: http, server, location
字符串设置客户端请求正文的最大允许大小,在“Content-Length”请求标头字段中指定。如果请求中的大小超过配置的值,则向客户端返回413(请求实体太大)错误。请注意,浏览器无法正确显示此错误。将size设置为0将禁用对客户端请求正文大小的检查。不要忘记通过nginx -s reload或service nginx reload命令在sudo(如果有的话)之前添加reload configuration。
nginx -s reload
service nginx reload
sudo
vwoqyblh2#
Nginxclient_max_body_size默认值为1MB
1MB
您可以通过三种不同的方式更新此值
http { ... client_max_body_size 100M;}
http {
...
client_max_body_size 100M;
}
字符串
server { ... client_max_body_size 100M;}
server {
型
location /uploads { ... client_max_body_size 100M;}
location /uploads {
型更多信息click here
tuwxkamq3#
Pooja马内的回答对我很有效,但我必须把 client_max_body_size 变量放在 http 部分中。
的数据
1bqhqjot4#
您可以在nginx配置文件中增加body大小,sudo nano /etc/nginx/nginx.confclient_max_body_size 100M;重新启动nginx以应用更改。sudo service nginx restart
f5emj3cl5#
你必须在nginx.conf文件中增加client_max_body_size。这是基本步骤。但是如果你的后端laravel,那么你也必须在php.ini文件中做一些更改。这取决于你的后端。下面我提到了文件位置和条件名称。
nginx.conf
laravel
php.ini
sudo vim /etc/nginx/nginx.conf.
字符串打开文件后,将此添加到HTTP部分。
mefy6pfw6#
我不建议在http或server块上增加client_max_body_size,你必须从http -> server -> location(目标)增加它。示例:
http { ... client_max_body_size: 1m; ... server { ... client_max_body_size: 2m; ... location ~* ^/upload/(.*)$ { # the target ... client_max_body_size: 100m; ... } }}
client_max_body_size: 1m;
client_max_body_size: 2m;
location ~* ^/upload/(.*)$ { # the target
client_max_body_size: 100m;
vhipe2zx7#
这适用于新的AWS Linux 2环境。为了解决这个问题-您需要 Package 您的配置文件。如果您使用Docker,您应该有一个包含Dockerrun.aws.json的zip文件(我的文件名为deploy.zip)。如果您没有-这很容易修改,只需通过zip -r deploy.zip Dockerrun.aws.json压缩您的部署有了这个-你现在需要添加一个.platform文件夹如下:
Dockerrun.aws.json
deploy.zip
zip -r deploy.zip Dockerrun.aws.json
.platform
APP ROOT├── Dockerfile├── Dockerrun.aws.json├── .platform│ └── nginx│ └── conf.d│ └── custom.conf
APP ROOT
├── Dockerfile
├── Dockerrun.aws.json
├── .platform
│ └── nginx
│ └── conf.d
│ └── custom.conf
字符串您可以随意命名您的custom.conf,并且可以拥有任意数量的文件。
custom.conf
client_max_body_size 50M;
型或者任何你想为你的配置。与此-修改您的zip现在是zip -r deploy.zip Dockerrun.aws.json .platform个然后部署。你的Nginx服务器现在将接受新命令更多详情:https://blog.benthem.io/2022/04/05/modifying-nginx-settings-on-elasticbeanstalk-with-docker.html
zip -r deploy.zip Dockerrun.aws.json .platform
7条答案
按热度按时间cx6n0qe31#
client_max_body_size
指令的默认值为1 MiB。它可以在
http
、server
和location
上下文中设置-在大多数情况下,嵌套块中的指令优先于祖先块中的相同指令。摘自ngx_http_core_module文档:
字符串
设置客户端请求正文的最大允许大小,在“Content-Length”请求标头字段中指定。如果请求中的大小超过配置的值,则向客户端返回413(请求实体太大)错误。请注意,浏览器无法正确显示此错误。将size设置为0将禁用对客户端请求正文大小的检查。
不要忘记通过
nginx -s reload
或service nginx reload
命令在sudo
(如果有的话)之前添加reload configuration。vwoqyblh2#
Nginx
client_max_body_size
默认值为1MB
您可以通过三种不同的方式更新此值
1.在
http
块中设置,影响所有服务器块(虚拟主机)。字符串
2.在
server
块中设置,影响特定站点/应用。型
3.在
location
块中设置,影响站点/应用下的特定目录(上传)。型
更多信息click here
tuwxkamq3#
Pooja马内的回答对我很有效,但我必须把 client_max_body_size 变量放在 http 部分中。
的数据
1bqhqjot4#
您可以在nginx配置文件中增加body大小,
sudo nano /etc/nginx/nginx.conf
client_max_body_size 100M;
重新启动nginx以应用更改。
sudo service nginx restart
f5emj3cl5#
你必须在
nginx.conf
文件中增加client_max_body_size。这是基本步骤。但是如果你的后端laravel
,那么你也必须在php.ini
文件中做一些更改。这取决于你的后端。下面我提到了文件位置和条件名称。字符串
打开文件后,将此添加到HTTP部分。
型
mefy6pfw6#
我不建议在http或server块上增加client_max_body_size,你必须从http -> server -> location(目标)增加它。示例:
字符串
vhipe2zx7#
这适用于新的AWS Linux 2环境。为了解决这个问题-您需要 Package 您的配置文件。如果您使用Docker,您应该有一个包含
Dockerrun.aws.json
的zip文件(我的文件名为deploy.zip
)。如果您没有-这很容易修改,只需通过zip -r deploy.zip Dockerrun.aws.json
压缩您的部署有了这个-你现在需要添加一个
.platform
文件夹如下:字符串
您可以随意命名您的
custom.conf
,并且可以拥有任意数量的文件。型
或者任何你想为你的配置。与此-修改您的zip现在是
zip -r deploy.zip Dockerrun.aws.json .platform
个然后部署。你的Nginx服务器现在将接受新命令
更多详情:https://blog.benthem.io/2022/04/05/modifying-nginx-settings-on-elasticbeanstalk-with-docker.html