Проблема тумана с использованием профиля iam и выборкой URL-адресов из aws


Использование профилей инстансов Fog w / AWS и через 3 дня мои url s3 больше не работают. Я получаю свежие URL-адреса, но ошибка, возвращенная из AWS, заключается в том, что предоставленный токен истек. При перезапуске приложения все снова работает, но никаких других ошибок, кроме ошибки AWS, нет.

Я читал, что переключение на ключи должно решить мою проблему, но я надеялся сохранить свой профиль iam. Кто - нибудь сталкивался с этим?

Мой Carrierwave конфиг ниже, и я использую Carrierwave версии 0.9.0 и Fog 1.28.0

CarrierWave.configure do |config|
  fog_credentials = {
    :provider               => 'AWS',
    :region                 => 'us-east-1',
    :path_style             => true,
    :host                   => 's3-external-1.amazonaws.com'    # routes all requests to Northern Virginia datacenter
  }

  if defined?(Settings.use_iam_profile) && Settings.use_iam_profile
    fog_credentials[:use_iam_profile] = true
  else
    fog_credentials[:aws_access_key_id] = Settings.s3_access_key
    fog_credentials[:aws_secret_access_key] = Settings.s3_secret_key
  end

  config.fog_credentials = fog_credentials
  config.fog_directory  = Settings.s3_bucket_name                 # required
  config.fog_public     = false                                   # optional, defaults to true
  config.root = File.join(Rails.root, 'private')
end
1 2

1 ответ:

Итак, эта ссылка была обновлена, в основном проблема заключалась в том, что маркер подписи правильно обновлялся при загрузке файлов с fog, он не обновлялся при подписании URL S3.

Был запрос на вытягивание, сделанный на тумане, чтобы исправить эту проблему