Ruby on rails 发布包含多个文件字段的表单时从nginx获取400状态
我在生产中使用rails 4.2和nginx。我有一个包含多个文件字段的表单。直到昨天,这一功能仍按预期工作。但一个奇怪的问题刚刚出现 问题是:在发布此表单时,它会被加载。我检查了nginx的错误日志,没有找到任何东西。在检查访问日志时,我在超时后获得了该请求的400状态 我已通过禁用文件字段进行检查。如果在该表单中,有一个文件字段处于活动状态,则它可以工作。但激活多个文件字段时发生了此类错误Ruby on rails 发布包含多个文件字段的表单时从nginx获取400状态,ruby-on-rails,ruby-on-rails-4,nginx,google-compute-engine,dragonfly-gem,Ruby On Rails,Ruby On Rails 4,Nginx,Google Compute Engine,Dragonfly Gem,我在生产中使用rails 4.2和nginx。我有一个包含多个文件字段的表单。直到昨天,这一功能仍按预期工作。但一个奇怪的问题刚刚出现 问题是:在发布此表单时,它会被加载。我检查了nginx的错误日志,没有找到任何东西。在检查访问日志时,我在超时后获得了该请求的400状态 我已通过禁用文件字段进行检查。如果在该表单中,有一个文件字段处于活动状态,则它可以工作。但激活多个文件字段时发生了此类错误 000.11.221.162 - - [19/Aug/2016:11:41:16 +0000] "PO
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上传多个文件非常容易
您是否在表单中使用了
multipart:true
attrubit?显示您的nginx。conf@BrenoPerucchi,用nginx配置修改了我的问题nginx版本是什么?乘客或独角兽是否使用nging?这不是单个字段的多文件上载,而是单个表单中多个字段的单文件上载。