ruby-on-rails – 即使在client_max_body_size 100M之后仍然获得413请求实体太大

我在数字海洋上使用Rails和Nginx并且我一直在尝试上传一个17.6 MB的文件,即使在我的/etc/nginx/nginx.conf文件中设置了client_max_body_size 100M之后我仍然得到413请求实体太大.

这是文件的片段:

http {

  ##
  # Basic Settings
  ##

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

设置完之后我使用了sudo服务nginx reload.当这不起作用我甚至完成了使用sudo shutdown -r完全重新启动,然后封面生产puma:从我的本地机器启动.我也尝试过client_max_body_size 0;根据我的理解,应该完全禁用文件大小的检查.什么都行不通.此外,在达到这一点时,我在client_max_body_size语句的位置上犯了一些错误,并且在那些情况下服务器无法正确启动出现“出错”错误,所以我很确定这些更改我我正在做正确的文件.

有什么我可能会失踪?还有另一个地方我缺少配置这个吗?我正在配置它的方式中是否有一些我遗漏的东西?任何指针都将非常感激.

最佳答案
好的.我想出来了.按照how to configure nginx的Digital Ocean指南,我在文件/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应用程序中有文件〜/ my_app / config / nginx.conf,其中的设置参数已包含该语句

  client_max_body_size 10M;

因此我在生产时改变了该语句以及/etc/nginx/nginx.conf文件.瞧!现在我可以上传高达100M的文件.

转载注明原文:ruby-on-rails – 即使在client_max_body_size 100M之后仍然获得413请求实体太大 - 代码日志