Как заставить 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} будет промежуточным.

Другие вопросы по тегам