尝试在 mup/nginx-proxy 中设置文件上传限制

Trying to set file upload limit in mup/nginx-proxy

我 运行 遇到文件上传错误,文件大于 10M。我遵循了这里的建议:http://meteor-up.com/docs.html#advanced-configuration 它说明了如何通过设置 clientUploadLimit: '50M'

在 nginx 代理中设置它

我使用 mup proxy reconfig-shared 推送更改,它告诉我它已重新启动代理。它没有用,我仍然收到 413(请求实体太大)错误。

我检查了 nginx-proxy docker 实例,文件 /etc/nginx/conf.d/my_proxy.conf 有正确的条目 client_max_body_size 50M。我重新启动了 EC2 盒子以确保,但它仍然无法正常工作。

这篇文章 https://www.tecmint.com/limit-file-upload-size-in-nginx/ 建议设置需要放在 http 块中,如下所示:

By default, Nginx has a limit of 1MB on file uploads. To set file upload size, you can use the client_max_body_size directive, which is part of Nginx’s ngx_http_core_module module. This directive can be set in the http, server or location context.

http {
    client_max_body_size 100M;
}

我看不出如何实现这一点,因为 .conf 文件是只读的并且以某种方式被锁定。

关于如何进行的任何想法?

我想我可以尝试一个自定义的 nginx.conf 文件,但我不确定里面应该放些什么,事实上它是否会改善这种情况。

感谢任何帮助:)

现在这是猜测,但您是否尝试过转到 docker 容器的根 shell 更改权限以向根或您的用户 chmod 760 /etc/nginx/nginx.conf 授予写权限并编辑 nginx 文件在那里?

我很高兴地报告我已经解决了...我会解释如何解决的。

我在 mup.js 文件中的 nginx 反向代理中设置了限制

  proxy: {
    domains: 'website.com,www.website.com',
    shared: { clientUploadLimit: '50M' }
  }

但事实证明,有一个选项可以像这样为每个独立的服务器设置它:

  proxy: {
    domains: 'website.com,www.website.com',
    clientUploadLimit: '50M'
  }

默认情况下,限制设置为 10M。我通过炮击 nginx-proxy docker 图像并使用命令 grep -R client_max_body_size /etc/nginx 进行搜索找到了它,它向我展示了它设置的所有位置(对于每个虚拟主机)

所以我为我的服务器更改了 mup.js 文件,做了一个 mup stop 和一个 mup setup(到 re-do 设置)然后 mup deploy