ruby-on-rails – AWS Elastic Beanstalk,Rails,Carrierwave-413请求实体太大

我在AWS Elastic Beanstalk上托管了一个Rails / Postgres应用程序.一个表单将数据发布到我的应用程序还允许用户选择多张照片,其中照片在同一请求中使用Carrierwave直接上传到Amazon S3.虽然它在开发中有效,但它会在生产中抛出“413 Request Entity Is To Large”错误.

我已经尝试使用相关Stack Overflow帖子的一些建议来配置我的应用程序以增加请求的最大正文大小,但似乎没有任何工作.不确定我是否应该使用容器命令.不知道那是做什么的.

.ebextensions/01_files.config

container_commands:
  01_reload_nginx:
    command: "service nginx reload"

files:
  "/etc/nginx/conf.d/proxy.conf" :
    mode: "000755"
    owner: root
    group: root
    content: |
        http {
          client_max_body_size 20M;
        }
最佳答案
我使用自己的基于docker的配置遇到了同样的问题
并且为我清除它的变化是添加

client_max_body_size 20M;

在我的容器的nginx的nginx.conf文件的每个级别.

但是,我的nginx.conf比你的更精细.
我不明白你的如何只使用http子句.

这是我的nginx.conf的样子:

upstream myapp {
  server unix:///var/run/myapp.sock;
}

  client_max_body_size 20M;

        server {
          listen 80;
          server_name mayapp.com;

          # path for static files
          root /usr/src/app/public;

          location / {
              try_files $uri @proxy;
              client_max_body_size 20M;
          }

          location @proxy {
              proxy_pass  http://myapp;
              proxy_set_header Host      $host;
              proxy_set_header X-Real-IP $remote_addr;
              client_max_body_size 20M;
          }

          client_max_body_size 20M;
        }

转载注明原文:ruby-on-rails – AWS Elastic Beanstalk,Rails,Carrierwave-413请求实体太大 - 代码日志