3

Я просто подключил CD-ROM Amazon CLoudfront до нашего приложения.Как получить CDN для работы с промежуточными и производственными ENV, используя CloudFront, Rails, Jammit

В постановочной и 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 

Кто-нибудь есть опыт работы с этим? Спасибо

+0

что делать, если вы только что сделали: '" http: // cdn0 # {source.hash% 4} .mysite.com/# {Rails.env} "или' http: // # {Rails.env} .cdn0 # {source.hash% 4} .mysite.com "'? В противном случае вам придется вникнуть в основной код javascript_include_tag и связанный с ним код, чтобы настроить путь. –

+0

Я закончил это. Проблема, которую я нашел, заключалась в том, что она разрушает CSS. Если у css есть изображение, подобное url (/ images ...), которое теперь недействительно ... Идеи? – AnApprentice

ответ

1

Я бы разделил ваши CDN по окружающей среде. Таким образом, CDN {\ d \ d} будет производством, тогда будет запущен app-stage-cdn {\ d \ d}.