为此,您可以采取两种方法。不幸的是,有些适用于某些 EB 应用程序类型,有些适用于其他类型。
AWS 文档中支持/推荐
对于某些应用程序类型,例如Java SE https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-nginx.html, Go https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/go-nginx.html, Node.js https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/nodejs-platform-proxy.html,也许还有 Ruby(没有针对 Ruby 的文档,但所有其他 Nginx 平台似乎都支持这一点),Elasticbeanstalk 对如何配置 Nginx 有内置的了解。
要扩展 Elastic Beanstalk 的默认 nginx 配置,将 .conf 配置文件添加到名为的文件夹中.ebextensions/nginx/conf.d/
在您的应用程序源包中。 Elastic Beanstalk 的 nginx 配置自动在此文件夹中包含 .conf 文件。
~/workspace/my-app/
|-- .ebextensions
| `-- nginx
| `-- conf.d
| `-- myconf.conf
`-- web.jar
配置反向代理 - Java SE https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-nginx.html
要专门增加最大上传大小,请在以下位置创建一个文件.ebextensions/nginx/conf.d/proxy.conf
将最大身体尺寸设置为您想要的任何尺寸:
client_max_body_size 50M;
直接创建Nginx配置文件
对于其他一些应用程序类型,经过大量研究并与出色的 AWS 支持团队合作数小时后,我在其中创建了一个配置文件.ebextensions
补充nginx配置。这一变化允许更大的柱体尺寸。
里面的.ebextensions
目录下,我创建了一个名为01_files.config
包含以下内容:
files:
"/etc/nginx/conf.d/proxy.conf" :
mode: "000755"
owner: root
group: root
content: |
client_max_body_size 20M;
这会在 /etc/nginx/conf.d 目录中生成一个 proxy.conf 文件。 proxy.conf 文件仅包含一行client_max_body_size 20M;
这可以解决问题。
请注意,对于某些平台,此文件将在部署期间创建,但会在稍后的部署阶段中删除。
您可以指定 Nginx 文档中概述的其他指令。
http://wiki.nginx.org/配置 http://wiki.nginx.org/Configuration