【问题标题】:Still getting 413 Request Entity Too Large even after client_max_body_size 100M即使在 client_max_body_size 100M 之后仍然得到 413 Request Entity Too Large
【发布时间】:2016-08-15 08:34:59
【问题描述】:

我在数字海洋上使用 Rails 和 Nginx,我一直在尝试上传一个 17.6 MB 的文件,即使在我的 /etc/nginx/nginx.conf 中设置了client_max_body_size 100M 之后,我仍然收到413 Request Entity Too Large文件。

这是文件中的 sn-p:

http {

  ##
  # Basic Settings
  ##

  client_max_body_size 100M;
  sendfile on;
  tcp_nopush on;
  ...
}

设置后我使用了sudo service nginx reload。当这不起作用时,我什至使用sudo shutdown -r now 完全重新启动,然后从我的本地计算机上使用cap production puma:start。我也试过client_max_body_size 0;,据我了解应该完全禁用文件大小检查。没有任何效果。另外,在达到这一点时,我在client_max_body_size 语句的位置上犯了一些错误,在这些情况下,服务器无法正确启动并给出“出现问题”错误,所以我很确定我正在对正确的文件进行更改。

有什么我可能会遗漏的吗?还有其他我想配置的地方吗?我目前配置它的方式有什么遗漏吗?任何指针将不胜感激。

【问题讨论】:

    标签: ruby-on-rails nginx digital-ocean


    【解决方案1】:

    好的。我想通了。按照how to configure nginx 的数字海洋指南,我在文件/etc/nginx/nginx.conf 中设置client_max_body_size 100M。当然,改变那里的东西肯定会对服务器的工作产生影响。特别是当我在那个文件中弄乱了一些东西并且服务器停止运行时。

    但是,我忘记了在Deploying a Rails App on Ubuntu 14.04 with Capistrano, Nginx, and Puma 这是我设置服务器的主要资源,它表明这些参数不是在上面的nginx.conf 中设置的,而是在我的rails 应用程序中有文件@ 987654326@其中设置参数已经包含语句

      client_max_body_size 10M;
    

    所以我更改了该声明以及生产中的/etc/nginx/nginx.conf 文件。瞧!现在我可以上传最大 100M 的文件。

    【讨论】:

    • 我有同样的问题,但我的 Rails 应用程序的配置目录中没有nginx.conf!你有什么想法吗?
    • @AboozarRajabi 不确定。也许您可以在您的项目中搜索client_max_body_size,看看它是否可能在其他地方?
    • @tobogranyte 它不在我的项目文件中,而是在我使用 nginx 部署我的应用程序的服务器上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    相关资源
    最近更新 更多