ruby-on-rails – 在发布包含多个文件字段的表单时从nginx获取400状态

我在我的制作中使用rails 4.2和nginx.我有一个包含多个文件字段的表单.直到昨天,此功能已按预期工作.但是一个奇怪的问题刚刚到来.问题是:在发布此表单时,它会加载.我检查了nginx的错误日志,没有找到任何东西.在检查...

我在我的制作中使用rails 4.2和nginx.我有一个包含多个文件字段的表单.直到昨天,此功能已按预期工作.但是一个奇怪的问题刚刚到来.

问题是:在发布此表单时,它会加载.我检查了nginx的错误日志,没有找到任何东西.在检查访问日志时,我在超时后获得了该请求的400状态.

我通过禁用文件字段进行了检查.如果以该形式,一个文件字段处于活动状态,则它可以正常工作.但是激活了多个文件字段,发生了这样的错误.

000.11.221.162 - - [19/Aug/2016:11:41:16 +0000] "POST /categories HTTP/1.1" 400 0 "http://someapp.com/categories/new" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"

有没有人遇到过这种问题.任何建议都会有所帮助.

nginx配置

http{
    passenger_root /usr/local/rvm/gems/ruby-2.1.0@global/gems/passenger-5.0.21;
    passenger_ruby /usr/local/rvm/gems/ruby-2.1.0/wrappers/ruby;

    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
            listen                80;
            server_name           xxx.xxx.xxx.xx;
            passenger_enabled     on;
            root                  /path/to/rails/public;
            rails_env             production;
            client_max_body_size    0;
            client_body_timeout     600s;
            send_timeout            600s;
        }
}

解决方法:

使用carrierwave上传多个文件实际上很容易.

https://github.com/carrierwaveuploader/carrierwave/blob/master/README.md#multiple-file-uploads

本文标题为:ruby-on-rails – 在发布包含多个文件字段的表单时从nginx获取400状态

基础教程推荐