4 Réponses :
Jetez un coup d'œil à https://github.com/rumblelabs/asset_sync - Nous l'utilisons juste à S3 mais Je suppose que la partie cloudfront est assez facile une fois que les actifs sont sur S3. P>
On finit par être une tâche de râteau que vous allez simplement ajouter à exécuter dans votre processus de déploiement. P>
Une autre option serait https://github.com/moocode/asseet_id , le fichier README a un exemple pour l'utiliser avec CloudFront. Il devrait fonctionner avec des rails 3.1 mais je l'ai seulement utilisé sur 3.0.x. P>
SS JOHN a déclaré que toutes les solutions finiraient par être une tâche de râteau + un peu de logique pour changer le chemin d'actif dans les rails. p>
Si vous utilisez l'option CloudFronts "Personnaliser Origine", vous n'avez pas besoin de télécharger quoi que ce soit, Cloudfront va chercher les actifs de votre serveur en cas de besoin. Pour plus de détails sur la configuration, voir: P>
... Et pour ceux qui utilisent des haricots élastiques, étant donné que vos actifs sont probablement précompilés par défaut, le serveur Nginx va les servir à CloudFront, il devrait y avoir très peu de conséquence à cette approche (la demande ne frappe jamais l'application Rails).
Découvrez définitivement Il y a une amélioration assez importante de la performance dans l'utilisation d'une origine
Savez-vous d'une raison pour laquelle les en-têtes de cache HTTP ne seraient pas définis par défaut? Doit-ils maintenant être défini manuellement dans le fichier de configuration Asset_Sync? quelque chose comme config.custom_headers = {'Cache-Control' => 'max-Âge = 315576000', 'expire' => 1.Year.from_now.httpdate} Je ne peux pas sembler avoir le mien pour bien définir ... Toute aide appréciée