【发布时间】:2017-04-21 00:01:35
【问题描述】:
我正在尝试更改我的 Elastic Beanstalk NGINX 反向代理的 client_max_body_size 属性,以允许上传更大的 JPEG 文件。因此,我将文件夹“.ebextensions”添加到我的 WAR 文件(WAR 文件还包括 Spring Boot 应用程序)的根目录中,并添加了一个文件“.ebextensions/01_files.config”,内容如下:
files:
"/etc/nginx/conf.d/proxy.conf" :
mode: "000755"
owner: root
group: root
content: |
client_max_body_size 20M;
我通过 Travis-CI 将 WAR 文件部署到 Elastic Beanstalk。但是,Elastic Beanstalk 似乎忽略了该文件,因为上传文件大小为例如2MB 不起作用,当使用 SSH 连接到实例并查找“/etc/nginx/conf.d/proxy.conf”时,该文件不存在。
我已经使用 YAML 验证器成功验证了上述内容。我知道,存在很多相关问题,但似乎没有一个可以解决我的问题。我还检查了根目录的 WAR 文件中是否包含“.ebextensions/01_files.config”。当我检查“/tmp/eb_extracted_jar”时,文件“.ebextensions/01_files.config”也存在,内容正确。我什至在“/var/log/cfn-init.log”中找不到任何错误。我注意到,就在几秒钟内,文件“proxy.conf”在部署期间出现在“/etc/nginx/conf.d/”中,但随后它已被删除。
是否会因为通过 Travis-CI 部署到 Elastic Beanstalk 而出现此问题?还是我错过了其他重要的事情?
编辑:
我刚刚认识到在部署应用程序时每次都会创建“proxy.conf”文件几秒钟,但几秒钟后它就会消失(在“/etc/nginx/conf.d/”中使用ls -lsa检查,请参阅“elasticbeanstalk”目录和“healthd_http.conf”的时间戳为 13:34,“proxy.conf”的时间戳为 13:43)
4 drwxr-xr-x 3 root root 4096 6. Dec 13:43 .
4 drwxr-xr-x 4 root root 4096 6. Dec 13:34 ..
4 drwxr-xr-x 2 root root 4096 6. Dec 13:34 elasticbeanstalk
4 -rw-r--r-- 1 root root 148 6. Dec 13:34 healthd_http.conf
4 -rwxr-xr-x 1 root root 26 6. Dec 13:43 proxy.conf
几秒钟后ls -lsa“/etc/nginx/conf.d/”:
4 drwxr-xr-x 3 root root 4096 6. Dec 13:44 .
4 drwxr-xr-x 4 root root 4096 6. Dec 13:44 ..
4 drwxr-xr-x 2 root root 4096 6. Dec 13:44 elasticbeanstalk
4 -rw-r--r-- 1 root root 148 6. Dec 13:44 healthd_http.conf
【问题讨论】:
标签: java amazon-web-services nginx amazon-ec2 spring-boot