Я установил Cloudfront с Heroku для Rails и в начале работал отлично. В последние дни я заметил, что активы больше не обслуживаются с cloudfront.net.Rails Cloudfront активы не обслуживаются
Production.rb
Rails.application.configure do
config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.action_controller.asset_host = 'http://d2t6o5tnu5etuf.cloudfront.net'
config.serve_static_files = true
config.assets.js_compressor = :uglifier
config.assets.css_compressor = :sass
config.assets.compile = true
config.assets.digest = true
config.assets.version = '1.0'
config.log_level = :info
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
config.active_record.dump_schema_after_migration = false
end
я могу охватить все свои активы под CloudFront адреса и в хроме я могу видеть, что приложение-5deb6995ce9b984d469b27c58cc92a095d19cd13e0acd622ffe426c41826e055.js получает подается с CloudFront сервера. Однако все статические изображения на странице, например. /assets/shop/banners/2.jpg нет.
Возможно, это связано с предварительной компиляцией, поскольку она не ищет версию файла отпечатка пальца или?
В моем геме-файл У меня есть следующий включено:
group :production, :staging do
gem 'rails_12factor'
gem 'pg'
end
Вы используете помощники 'image_tag' или' image_url', чтобы показывать свои изображения? – tegon
Мне нужно сделать это, я думаю? – Karsten
Да, если вы используете помощники изображения, рельсы будут префикс ваших изображений со значением, определенным в 'config.action_controller.asset_host'. Дополнительную информацию см. На странице https://devcenter.heroku.com/articles/using-amazon-cloudfront-cdn#adding-cloudfront-to-rails. – tegon