Ruby on rails 使用carrierwave和fog-heroku部署的应用程序将文件上载到AWS时出现应用程序错误
我已使用AWS凭据设置heroku配置变量: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
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