增加 Aws Elastic Beanstalk 上的 client_max_body_size

问题描述 投票:0回答:2
来源:AWS Elastic Beanstalk Linux 2 .NET Core API

收到413 Request Entity Too Large错误后,我研究了解决方案。当我使用 ssh 连接到机器并使用

nano /etc/nginx/nginx.conf 命令执行 client_max_body_size 20M 时,一切正常。

但是当新的部署到来时,它又回到旧的部署。

根据我的研究,我在项目的根目录中创建了

.platform/nginx/conf.d/proxy.conf 文件。

proxy.conf内容:

client_max_body_size 1024M;
我还创建了 

.platform/00_myconf.config 文件。

00_myconf.config内容:

container_commands: 01_reload_nginx: command: "service nginx reload"
添加这些后上传和部署时,我不断收到相同的错误(413 请求实体太大)。

通过 ssh 连接到机器 我无法使用 nano /etc/nginx/nginx.conf 命令在文件中找到 max_body_size 行。

linux amazon-web-services .net-core amazon-elastic-beanstalk nginx-config
2个回答
1
投票
这是旧的,希望你已经明白了。

如果没有,你找不到 client_max_body_size 行的原因是它默认不存在,你必须添加它。

然后通过 ssh 进入实例:

cd /etc/nginx/conf.d/ sudo nano proxy.conf
粘贴到:

client_max_body_size 1024M;
然后保存并退出。

终于跑了:

sudo service nginx restart
不幸的是,存储在 ec2 上的文件是短暂的,并且在每次部署或实例出现故障时都会丢失。到目前为止,我还无法找到 dotnet 的代码内解决方案,但会在找到时更新。

编辑:好的,在代码解决方案中(即,不依赖于 EC2 临时存储):

在 /.platform/nginx/conf.d/proxy.conf 中创建一个文件,内容如下:

client_max_body_size 100M;
确保在 Visual Studio 的属性中,将此文件的“复制到输出目录”设置为“始终”,并且构建操作为“内容”。


0
投票
今天早上我遇到了这个问题,最后发现我忘记将

.platform

 文件夹添加到 GitLab CI/CD 进行发布。重新检查并确保已发布。

© www.soinside.com 2019 - 2024. All rights reserved.