我遵循建议here,将nginx反向代理配置为允许大于默认1mb的文件。所以,我的代码在
/.platform/nginx/conf.d/prod.conf
看起来像这样:
http {
client_max_body_size 30M;
}
但是,这似乎没有任何作用,当我尝试上传大于1mb的文件时,nginx仍然会记录错误。
我还尝试了在没有http
和花括号的情况下执行此操作,如已接受的this question答案中所述,如下所示:
client_max_body_size 30M;
这也没有效果。
我认为应用配置后可能需要重启nginx,因此我在.ebextensions目录中添加了一个名为01nginx.config
的文件,如下所示:
commands:
01_reload_nginx:
command: "sudo service nginx reload"
这也没有效果。
我已经看到this question和上面提到的问题以及this one。但是,它们似乎都已过时或不适用于Amazon Linux 2实例,因为它们均未提及上述弹性beantalk文档中的.platform
目录。无论如何,到目前为止,他们的答案都没有对我有用。所以,我想念什么?
答案 0 :(得分:7)
迁移到Amazon Linux 2时,我遇到类似的问题。
仅在.platform/nginx/conf.d/
处创建一个名为proxy.conf
的文件,其内容如下即可。
client_max_body_size 50M;
如果您深入研究nginx的主要配置,您将看到此文件是如何包含在文件中间的,因此无需使用http包裹它。
这类似于adam tropp的回答,但它遵循AWS给出的示例
答案 1 :(得分:1)
好的,经过多次尝试,我能够这样解决:
在.ebextenstions目录中添加一个名为01_reverse_proxy.config
的文件(名称无关紧要,我认为只是.config部分)
在该文件中,完全放置以下内容:
files:
"/etc/nginx/conf.d/proxy.conf" :
mode: "000755"
owner: root
group: root
content: |
client_max_body_size 30M;
commands:
01_reload_nginx:
command: "service nginx reload"
具有适当的YAML间距。这解决了包括Rails,Puma和Amazon Linux 2.11.4在内的堆栈上的问题。这不是elastic beanstalk linux platforms documentation中记录的方式。
答案 2 :(得分:0)
以下为我工作:
BsonDefaults