微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx – client_max_body_size对ssl配置无效

当我设置client_max_body_size 30m;没有ssl一切正常(接受最多30MB的文件).但是,当我切换到ssl时,它完全忽略了这个指令.

我的配置如下(/etx/Nginx/conf.d/my-sites.com.conf):

server {
  listen 443 ssl;
  server_name my-sites.com;
  ssl_certificate /etc/Nginx/ssl/my-sites.com/uni_my-sites.com.crt;
  ssl_certificate_key /etc/Nginx/ssl/my-sites.com/my-sites.com.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

  client_max_body_size 30m;

  location / {
    proxy_pass http://my-backend.com;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

在这里找到了一些建议nginx – client_max_body_size has no effect,但没有任何效果.我试图使用不同的Nginx版本,我为所有块设置了client_max_body_size:http,服务器,位置但没有任何作用.

我也搜索过它是否是一个没有结果的Nginx bug.

有什么解决方案我可以克服这个问题,还是我被迫使用非ssl连接?欢迎任何建议.

我的配置是:

> AWS EC2 nano实例
>Docker的Nginx(最新稳定版 – 1.10.1)
>单个IP地址上只有一个虚拟主机

与此问题nginx – client_max_body_size has no effect的区别:这个问题与ssl有关

编辑:
我在Nginx wiki https://trac.nginx.org/nginx/ticket/1076#ticket中创建了一个问题

解决方法:

我终于找到了这个问题的原因. Nginx工作正常,但我将请求路由到AWS Elastic Beanstalk,后者在内部使用Nginx将请求路由到Docker容器内部.

因此,错误配置是在AWS Elastic Beanstalk方面.配置AWS修复了问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐