Все работает как положено локально. Как только я нажимаю на героку, я больше не могу загружать изображения.
Код ошибки, который я получаю из журналов heroku: Excon::Errors::Forbidden (Expected(200) <=> Actual(403 Forbidden)
Ответ XML содержит: <Code>AccessDenied</Code><Message>Access Denied</Message>
My fog.rb
:
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => ENV["ACCESS_KEY_ID"],
:aws_secret_access_key => ENV["SECRET_ACCESS_KEY"]
#:region => 'eu-west-1'
}
#Required for Heroku
config.cache_dir = "#{Rails.root}/tmp/uploads"
config.fog_directory = ENV["BUCKET_NAME"]
end
Мой загрузчик:
class ImageUploader < CarrierWave::Uploader::Base
storage :fog
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
В Heroku правильные переменные окружения — я использовал гем figaro
. Я также установил их вручную после того, как первые несколько раз получил ошибку 403, чтобы убедиться, что в figaro
нет ошибок.
Я думал, что это может быть проблема с регионом, но моя корзина находится в США, а в документации по несущей волне указано, что по умолчанию используется us-east-1
.
Что вызывает проблему на Heroku, но не локально?