Seahorse :: Client :: NetworkingError Загрузка файла Amazon S3 с помощью направляющих

В моем приложении rails 4 я пытаюсь загрузить и затем загрузить обычный файл png в мое хранилище s3, используя aws-sdk (используяgem 'aws-sdk', '~> 2').

В среде разработки код работает совершенно нормально. Но если я попробуюrails s -e production или если я проверяю загрузку на моем экземпляре heroku, я получаю следующую ошибку при проверке функциональности загрузки изображений,

Seahorse::Client::NetworkingError (Connection reset by peer):
  app/helpers/aws_s3.rb:73:in `upload_to_s3'
  app/controllers/evaluations_controller.rb:19:in `test'

Мой метод upload_to_s3, упомянутый в трассировке, выглядит следующим образом:

def upload_to_s3(folder_name)
  url = "http://i.imgur.com/WKeQQox.png"
  filename = "ss-" + DateTime.now.strftime("%Y%d%m-%s") + "-" + SecureRandom.hex(4) + ".png"
  full_bucket_path = Pathname(folder_name.to_s).join(filename).to_s
  file = save_to_tempfile(url, filename)
  s3 = Aws::S3::Resource.new(access_key_id: ENV["IAM_ID"], secret_access_key: ENV["IAM_SECRET"], region: 'us-east-1')
  s3_file = s3.bucket(ENV["BUCKET"]).object(full_bucket_path)
  s3_file.upload_file(file.path)
  raise s3_file.public_url.to_s.inspect
end

Переменные среды одинаковы для обеих сред. Я действительно не знаю, куда еще обратиться, чтобы отладить это. Почему это работает в разработке, а не в производстве? У меня такое чувство, что я упускаю что-то довольно очевидное.

ОБНОВИТЬ:

Давайте упростим это далее, так как я не получаю очень много обратной связи.

s3 = Aws::S3::Resource.new
bucket = s3.bucket(ENV["BUCKET"])
bucket.object("some_file.txt").put(body:'Hello World!')

Вышесказанное полностью работает в моей среде разработки, но не в моей производственной среде. В производстве он неисправен, когда я звонюput(body:'Hello World!'), Я знаю, что это, вероятно, связано с разрешениями на запись или чем-то еще, но, опять же, я проверил мои переменные среды, и они идентичны. Есть ли какая-то конфигурация, о которой я не знаю, которую я должен проверить?

Я пытался использовать нового пользователя IAM. Я также временно скопировал все содержимое файла development.rb в production.rb, просто чтобы посмотреть, влияет ли на него конфигурация для разработки или производства, но безрезультатно. Я также запустил обновление пакета. Опять не повезло.

Я хотел бы, чтобы ошибка была более наглядной, но она просто говоритSeahorse::Client::NetworkingError (Connection reset by peer) независимо от того, что я пытаюсь

Ответы на вопрос(1)

Ваш ответ на вопрос