So, I'm trying to upload an image from the Rails API to S3, using Fog.
Whenever I try to upload the image, I get this:
Excon::Errors::Forbidden (Expected(200) <=> Actual(403 Forbidden)
(...)
All access to this object has been disabled
It is working in development, but once I switch to production, I receive the error above. I'm using the keys from an user I've created that set full administrative permissions to.
My carrierwave.rb: require 'carrierwave'
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => "AWS",
:region => "us-east-1",
:aws_access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:aws_secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
if Rails.env.production?
config.cache_dir = "#{Rails.root}/tmp/uploads"
end
config.fog_directory = ENV['AWS_BUCKET']
config.fog_public = false
end
Any ideas? Thanks in advance! :)
In my case the problem was related to the ENV on Heroku. I forgot to add the REGION variable.
So, it's worth checking if you have all your variables set correctly.