我按照建议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
目录。无论如何,到目前为止,他们的答案都没有对我有用。所以,我想念什么?
好吧,经过多次尝试,我能够这样解决:
在.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中记录的方式。