增加 AWS Elastic Beanstalk 上 Nginx 的 client_max_body_size。爪哇 11

ANG*_*999 6 java nginx amazon-elastic-beanstalk java-11

我一直在尝试为Java 11 Beanstalk 部署中提供的Nginx服务器增加client_max_body_size,但没有成功。

到目前为止,我已经尝试了AWS Developer Guide方法,在 GitHub 中使用钩子的这种方法,以及我在这个StackOverflow 问题中找到的每个发布的解决方案, 使用 .ebextenstions 中的不同配置。

我遇到的错误因我采用的方法而异,从由于 Nginx 配置中的错误而根本没有部署应用程序到成功部署应用程序但未考虑新的文件大小限制。这些是我尝试过的一些捆绑结构:

捆绑 1

myBundle.zip
--myApplication.jar
--Procfile
--.ebextensions
----nginx
------conf.d
--------proxy.conf
Run Code Online (Sandbox Code Playgroud)

代理配置文件

client_max_body_size 50M;
Run Code Online (Sandbox Code Playgroud)

捆绑 2

myBundle.zip
--myApplication.jar
--Procfile
--.ebextensions
----myconf.config
Run Code Online (Sandbox Code Playgroud)

配置文件

files:
  "/etc/nginx/conf.d/proxy.conf" :
    mode: "000755"
    owner: root
    group: root
    content: |
      client_max_body_size 50M;

container_commands:
  01_reload_nginx:
    command: "sudo service nginx reload"
Run Code Online (Sandbox Code Playgroud)

捆绑 3

myBundle.zip
--myApplication.jar
--Procfile
--.ebextensions
----myhookconfig.config
Run Code Online (Sandbox Code Playgroud)

myhookconfig.config

files:
  "/opt/elasticbeanstalk/hooks/appdeploy/enact/12_add_nginx_configuration.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/usr/bin/env bash
      /bin/echo "client_max_body_size 50M;" > /etc/nginx/conf.d/proxy.conf
      /sbin/service nginx reload
Run Code Online (Sandbox Code Playgroud)

我认为这可能与 EB Java 11 平台有关。你们有没有用 Java 11 在 EB 中改变这个配置?谢谢!

ANG*_*999 10

这是对我有用的解决方案。我的错误是我使用了之前 Amazon Linux 2 平台的配置。正如 Vaquar Khan 提到的,正确配置的链接是这个反向代理配置部分是我一直在寻找的。

这是增加 NGINX 请求最大正文大小的配置:

myBundle.zip
--myApplication.jar
--Procfile
--.platform
----nginx
------conf.d
--------myConf.conf 
Run Code Online (Sandbox Code Playgroud)

我的配置文件:

client_max_body_size 50M;
Run Code Online (Sandbox Code Playgroud)