diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 8533b398a4fe3f0049c7730a50a7fa5b08b249a6..c33975caceb98c0462e7403619f703e19421a4b8 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -83,7 +83,7 @@ module ApplicationHelper end def cdn_host - ENV['CDN_HOST'].presence + Rails.configuration.action_controller.asset_host end def cdn_host? @@ -91,10 +91,10 @@ module ApplicationHelper end def storage_host - ENV['S3_ALIAS_HOST'].presence || ENV['S3_CLOUDFRONT_HOST'].presence + "https://#{ENV['S3_ALIAS_HOST'].presence || ENV['S3_CLOUDFRONT_HOST']}" end def storage_host? - storage_host.present? + ENV['S3_ALIAS_HOST'].present? || ENV['S3_CLOUDFRONT_HOST'].present? end end diff --git a/app/views/layouts/embedded.html.haml b/app/views/layouts/embedded.html.haml index ac11cfbe72e4e9ce9eb857ece4e06f1a98f01dbe..0503dcdc101a47dd25bfb4d3b50d79acaa4689cc 100644 --- a/app/views/layouts/embedded.html.haml +++ b/app/views/layouts/embedded.html.haml @@ -4,6 +4,12 @@ %meta{ charset: 'utf-8' }/ %meta{ name: 'robots', content: 'noindex' }/ + - if cdn_host? + %link{ rel: 'dns-prefetch', href: cdn_host }/ + + - if storage_host? + %link{ rel: 'dns-prefetch', href: storage_host }/ + = stylesheet_pack_tag 'common', media: 'all' = stylesheet_pack_tag Setting.default_settings['theme'], media: 'all' = javascript_pack_tag 'common', integrity: true, crossorigin: 'anonymous' diff --git a/config/environments/production.rb b/config/environments/production.rb index ed2d885b06313480a3efbf2a1f6c5ea3d503d35c..70baa6ad1a7b7d993f8a08989487e8bda723510f 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -13,7 +13,7 @@ Rails.application.configure do # Full error reports are disabled and caching is turned on. config.consider_all_requests_local = false config.action_controller.perform_caching = true - config.action_controller.asset_host = ENV['CDN_HOST'] if ENV.key?('CDN_HOST') + config.action_controller.asset_host = ENV['CDN_HOST'] if ENV['CDN_HOST'].present? # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"] # or in config/master.key. This key is used to decrypt credentials (and other encrypted files).