Странное поведение с генерацией URL Carrierwave - PullRequest
2 голосов
/ 08 сентября 2011

Я поставлен в тупик на этом.Я использую Carrierwave с Fog для обработки загрузки миниатюр для приложения, размещенного на Heroku, и URL-адреса изображений, похоже, не генерируются должным образом.

Я пытался настроить свой конфигурационный файл тремя различными способами:

CarrierWave.configure do |config|

  config.fog_credentials = {
     :provider => 'AWS',
     :aws_access_key_id => 'xxx',
     :aws_secret_access_key => 'yyy',
  }

  config.fog_host = 'https://s3.amazonaws.com/statics.gallery.spongecell.com'
end

обеспечивает правильную работу URL-адресов изображений, но я не могу сохранить новые изображения без безумной ошибки в моих журналах (длиной в несколько сотен строк после того, как говорят, что ключи не совпадают).

CarrierWave.configure do |config|

  config.fog_credentials = {
     :provider => 'AWS',
     :aws_access_key_id => 'xxx',
     :aws_secret_access_key => 'yyy',
  }

  config.fog_directory = 'statics.gallery.spongecell.com'
  config.fog_host = 'https://s3.amazonaws.com/'

end

позволяет загружать файлы, но не изображения!Имя корзины отсутствует в URL-адресе изображения: http://s3.amasonaws.com//uploads/blah/etc

И самое странное:

CarrierWave.configure do |config|

  config.fog_credentials = {
     :provider => 'AWS',
     :aws_access_key_id => 'xxx',
     :aws_secret_access_key => 'yyy',
  }

  config.fog_host = 'https://s3.amazonaws.com/statics.gallery.spongecell.com'
  config.fog_public = false
end

делает обе работы, но URL-адреса изображений добавляются с секретными ключами s3 (плохо!) и это очень медленно.Есть идеи, что здесь происходит?

Заранее спасибо!

1 Ответ

0 голосов
/ 07 июня 2013

Не думаю, что вам вообще нужно устанавливать fog_host (если вы оставите это поле пустым и просто установите fog_directory, я думаю, вы должны получить то, что хотите). Если вы установите fog_public = false, дополнительным материалом будет подпись, созданная с использованием вашего секретного ключа, но на самом деле она не должна содержать никаких секретов (именно так S3 позволяет вам временно предоставлять доступ к чему-то, что обычно является закрытым). Надеюсь, что это помогает / разъясняет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...