我有弹性 beantalk 的 nginx client_max_body_size 设置问题
Posted
技术标签:
【中文标题】我有弹性 beantalk 的 nginx client_max_body_size 设置问题【英文标题】:I have a nginx client_max_body_size setting issue with elastic beanstalk 【发布时间】:2020-12-31 18:52:19 【问题描述】:我正在使用带有 codePipeline 的 elasticbeanstalk 进行部署。
我必须增加要上传的文件大小, 所以我添加 02_nginx.config 文件是我的应用程序目录(.ebextensions)。
这是我的 -2_nginx_config
#Elastic Beanstalk configuration for 413 Request Entity Too Large:.
container_commands:
01_reload_nginx:`enter code here`
command: "sudo service nginx reload"
files:
"/etc/nginx/conf.d/proxy.conf" :
mode: "000644"
owner: root
group: root
content: |
client_max_body_size 100M;
部署时出现问题。 这是消息:
部署已完成,但出现错误:无法部署应用程序。应用程序版本 code-pipeline-1600053611774-BuildArtifact-5e317627-6a37-4548-aa47-f6d4ebb03e2f 中的配置文件 .ebextensions/02_nginx.config 包含无效的 YAML 或 JSON。 YAML 异常:无效的 Yaml:扫描“
”中的简单键时,第 13 行,第 3 列:client_max_body_size 0; ^ 在“ ”第 14 行第 1 列中找不到预期的 ':':^,JSON 异常:无效 JSON:位置 0 处出现意外字符 (#)。更新配置文件。
什么问题?
【问题讨论】:
【参考方案1】:您尝试使用的 nginx
设置 (/etc/nginx/conf.d/proxy.conf
) 适用于 Amazon Linux 1。
由于您可能使用的是 Amazon Linux 2,因此您应该使用不同的文件来设置 nginx。对于 AL2,nginx 设置应该在.platform/nginx/conf.d/
中,而不是在.ebextentions
中,如docs 中所示。
因此,您可以拥有以下 .platform/nginx/conf.d/myconfig.conf
的内容:
client_max_body_size 100M;
如果你使用.platform
,你也不需要重启nginx。所以基本上,用.platform/nginx/conf.d/myconfig.conf
替换你的my-2_nginx_config
【讨论】:
我必须在我的应用程序目录中创建 .platform/nginx/conf.d/ 吗?然后我应该做 myconfig.config? @김기현 是的。只需检查您使用的是基于 Amazon Linux 2 的 EB 平台,而不是基于 Amazon Linux 1 的旧平台。 是的,我检查了我的 linux 是 2. 首先。我在我的应用程序平台/nginx/conf.d/中创建目录接下来,我写“client_max_body_size 100M”;这就是 myconfig.conf 中的全部内容吗?我的意思是,只是扭动“”client_max_body_size 100M;”,而不是其他任何东西 第一。如何检查我的 linux 是 1 还是 2?而且我认为我的 linux 是 2。我成功部署了它。如何检查 .conf 文件是否成功运行?上传大小问题仍未解决.. @김기현 最好是通过 ssh 进入实例并从那里检查 nginx 设置。您的环境的 EB 控制台将在右侧的徽标下方显示您的平台版本。以上是关于我有弹性 beantalk 的 nginx client_max_body_size 设置问题的主要内容,如果未能解决你的问题,请参考以下文章
将 django docker 容器部署到弹性 beantalk
如何从 cli 本地连接到现有的弹性 beanstalk 实例?
.Net 5 AWS nginx Linux弹性beantalk改变client_max_body_size