Nginx和Amazon ElasticBeanstalk中的413请求实体过大

7

针对这个问题有很多答案(问题1 问题2),但是下面的解决方案虽然应该可行,但并不适用于我:

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

我已经通过ssh检查了这个创建的文件的状态和内容,一切都正确。我也尝试了其他值,并多次重启了服务器。

client_max_body_size 0;

或者

http {
   client_max_body_size 50M;
}

这些数值也不起作用。

即使是“仅仅”6MB的图片,它也无法工作。只有大小约为0.5MB的较小图片可以正常工作。这是一个使用“64位亚马逊Linux 2018.03 v2.8.0运行Ruby 2.5(Puma)”的RoR应用程序。实例大小为t2.micro。


你能在你的EBS机器上发布 nginx -T 的输出吗? - Tarun Lalwani
@TarunLalwani,这是您需要的内容:https://pastebin.com/25kmG4Bb - antpaw
配置文件已经被应用了,您能否通过SSH重新加载nginx服务,看看是否有帮助?另外,您能否展示nginx的错误日志? - Tarun Lalwani
这是一个重要的细节缺失,但是根据限制 https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-general 来看,它应该仍然处于安全区域。 - Tarun Lalwani
你确定你的配置文件被加载了吗?Passenger平台不会自动加载 - 我必须在/opt/elasticbeanstalk/support/conf/nginx_config_healthd.erb中添加 include /etc/nginx/conf.d/*.conf;。但是Puma平台可能会有所不同。 - Brian
显示剩余2条评论
1个回答

6

试试这个。对我来说有效:

content: |
    server {
        ***your server configuration***

        location / {
             client_max_body_size 100M;
        }
    }

3
虽然这可能是答案,但请添加更多的细节和解释,说明为什么它是答案。 - static_cast
这里有一些示例配置,其中包括一个带有 client_max_body_size 的配置。希望它能提供一些上下文帮助。https://gist.github.com/nateware/3988974 - Tum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接