首页 > 解决方案 > 在 AWS Elastic Beanstalk 上增加 Nginx 的 client_max_body_size。爪哇 11

问题描述

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

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

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

捆绑 1

myBundle.zip
--myApplication.jar
--Procfile
--.ebextensions
----nginx
------conf.d
--------proxy.conf

代理.conf

client_max_body_size 50M;

捆绑 2

myBundle.zip
--myApplication.jar
--Procfile
--.ebextensions
----myconf.config

我的配置文件

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"

捆绑包 3

myBundle.zip
--myApplication.jar
--Procfile
--.ebextensions
----myhookconfig.config

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

我认为这可能与具体的 EB Java 11 平台有关。你们有没有完成在 EB 中使用 Java 11 更改此配置?谢谢!

标签: javanginxamazon-elastic-beanstalkjava-11

解决方案


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

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

myBundle.zip
--myApplication.jar
--Procfile
--.platform
----nginx
------conf.d
--------myConf.conf 

myConf.conf:

client_max_body_size 50M;

推荐阅读