Как заставить CDN работать на ENV для Staging и Production, используя CloudFront, Rails, Jammit
Я только что подключил CDN Amazon CLoudfront к нашему приложению.
В файле staging и production.rb в рельсах все, что нужно, было:
config.action_controller.asset_host = Proc.new { |source, request|
if request.ssl?
"https://cfIDhere.cloudfront.net"
else
# Pick a random CDN
"http://cdn0#{source.hash % 4}.mysite.com"
end
}
Задача сейчас состоит в том, что как производственные, так и промежуточные envs называют это:
http://cdn02.mysite.com/assets/application.js
Это создаст такие безумные проблемы. Каков наилучший способ заставить CDN работать как для Prod, так и для Staging?
Я хотел бы иметь возможность сделать что-то вроде этого:
http://cdn02.mysite.com/assets/production/application.js
http://cdn02.mysite.com/assets/staging/application.js
У кого-нибудь есть опыт работы с этим? Спасибо
1 ответ
Я бы выделил ваши CDN по среде. Таким образом, CDN{\d\d} будет производственным, тогда app-stage-cdn{\d\d} будет промежуточным.