Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用carrierwave和fog-heroku部署的应用程序将文件上载到AWS时出现应用程序错误_Ruby On Rails_Heroku_Amazon Web Services_Carrierwave_Fog - Fatal编程技术网

Ruby on rails 使用carrierwave和fog-heroku部署的应用程序将文件上载到AWS时出现应用程序错误

Ruby on rails 使用carrierwave和fog-heroku部署的应用程序将文件上载到AWS时出现应用程序错误,ruby-on-rails,heroku,amazon-web-services,carrierwave,fog,Ruby On Rails,Heroku,Amazon Web Services,Carrierwave,Fog,我已使用AWS凭据设置heroku配置变量: heroku config:set S3_ACCESS_KEY=<....> heroku config:set S3_SECRET_KEY=<....> heroku config:set S3_BUCKET=<....> 在我的config/initializers/carrier_wave.rb文件中,我有: if Rails.env.production? CarrierWave.configure

我已使用AWS凭据设置heroku配置变量:

heroku config:set S3_ACCESS_KEY=<....>
heroku config:set S3_SECRET_KEY=<....>
heroku config:set S3_BUCKET=<....>
在我的config/initializers/carrier_wave.rb文件中,我有:

if Rails.env.production?
  CarrierWave.configure do |config|
    config.fog_credentials = {
    :provider              => 'AWS',
    :aws_access_key_id     => ENV['S3_ACCESS_KEY'],
    :aws_secret_access_key => ENV['S3_SECRET_KEY']
  }
  config.fog_directory     =  ENV['S3_BUCKET']
  end
end
  if Rails.env.production?
    storage :fog
  else
    storage :file
  end
在app/uploaders/picture_uploader.rb文件中,我得到了:

if Rails.env.production?
  CarrierWave.configure do |config|
    config.fog_credentials = {
    :provider              => 'AWS',
    :aws_access_key_id     => ENV['S3_ACCESS_KEY'],
    :aws_secret_access_key => ENV['S3_SECRET_KEY']
  }
  config.fog_directory     =  ENV['S3_BUCKET']
  end
end
  if Rails.env.production?
    storage :fog
  else
    storage :file
  end

在heroku上部署应用程序时,一切似乎都正常,但尝试上载文件会导致出现应用程序错误页面。。。这与AWS而不是我的代码有关吗?

另一个相关问题!AWS\u访问密钥\u ID和S3\u访问密钥之间有什么区别吗?此外,在AWS_SECRET_ACCESS_KEY和S3_SECRET_KEY?1之间,您可以使用不同的访问密钥设置不同的权限。2 S3访问和更新权限设置在不同的位置如果与ec2连接或其他权限相比,您需要自定义。3显示错误详细信息。请在尝试此操作时发布heroku日志中的错误输出。以下是日志中的错误…2015-01-03T08:41:44.020980+00:00 heroku[路由器]:at=错误代码=H13 desc=连接关闭而无响应方法=POST path=/posts host=XXX.herokuapp.com请求\u id=16ea7c1e-84ef-4592-aee1-11c870a29984 fwd=197.36.157.211 dyno=web.1 connect=1ms服务=18510ms状态=503字节=0