2016-08-04 2 views
0

Здравствуйте, я в настоящее время создаю сайт с использованием Rails и Heroku, а также GoDaddy для пользовательского имени домена.Carrierwave с S3 и Cloudfront не отображает изображения

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

CarrierWave.configure do |config| 
config.fog_provider = 'fog/aws'      # required 

config.fog_credentials = { 
provider:    'AWS',      # required 
aws_access_key_id:  'acesskey',      #  required 
aws_secret_access_key: 'secretkey',      # required 
region:    'us-east-1',     # optional, defaults to 'us-east-1' 
} 

config.fog_directory = 'directory'       # required 
# config.fog_public  = false # optional, defaults to true 
config.asset_host = 'randomjunk.cloudfront.net' 
config.fog_public = false 
config.fog_attributes = { 'Cache-Control' => "max-age=#{365.day.to_i}" } #  optional, defaults to {} 
end 

Он работает до тех пор, как config.fog_public является ложным, но когда я изменить его config.fog_public = истинный URL, теперь правильно, но изображения не найдены. Это что-то связано с моими настройками конфигурации или я неправильно настроил облачную инфраструктуру с Heroku?

ответ

0

Это зависит от настроек, которые были использованы при первоначальном создании файлов. Если они были созданы с config.fog_public = false, они будут частными файлами, и доступ будет осуществляться с помощью специального подписанного URL-адреса для s3. Я думаю, что хост-ресурс используется только для общедоступных файлов (следовательно, что вы видите). Если вы загружаете файлы с fog_public = true, тогда я не думаю, что вы увидите, что они не найдены. Вы также можете просто установить его в true и повторно сохранить изображения, чтобы изменить этот атрибут (я менее уверен в специфике здесь, вы, безусловно, должны быть в состоянии изменить их на публике, хотя).

Смежные вопросы