3

Je viens de brancher le CLR de Amazon sur notre application.Comment faire fonctionner un CDN pour les environnements de stockage et de production ENV, en utilisant CloudFront, Rails, Jammit

Dans la mise en scène et le fichier production.rb, dans des rails tout ce qu'il a été:

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 
    } 

Le défi est maintenant que la production et mise en scène à la fois envs appellent cela:

http://cdn02.mysite.com/assets/application.js 

qui va pour créer des problèmes si fous. Quelle est la meilleure façon de faire fonctionner le CDN à la fois pour Prod et Staging?

J'aimerais pouvoir faire quelque chose comme ceci:

http://cdn02.mysite.com/assets/production/application.js 
http://cdn02.mysite.com/assets/staging/application.js 

Toute personne a une expérience avec cela? Merci

+0

et si vous venez de le faire: '" http: // cdn0 # {source.hash% 4} .mysite.com/# {Rails.env} "' ou '" http: // # {Rails.env} .cdn0 # {source.hash% 4} .mysite.com "'? Sinon, vous devrez creuser dans le code 'javascript_include_tag'-et-connexes pour personnaliser le chemin. –

+0

J'ai fini par faire ça. Le problème que j'ai trouvé était qu'il casse le CSS. Si le CSS a une image comme so url (/ images ...) qui est maintenant invalide ... Idées? – AnApprentice

Répondre

1

Je voudrais séparer vos CDN par environnement. Donc CDN {\ d \ d} serait la production, alors app-stage-cdn {\ d \ d} serait en cours de mise en scène.

Questions connexes