peut être utilisé pour Amazon délester serveur de fichiers statiques pour Ruby on Rails application, mais toujours en charge l'autorisation et l'authentification de l'application?

StackOverflow https://stackoverflow.com/questions/1478609

Question

Peut-on des services Amazon (leur service de données S3, ou autre) être utilisé pour décharger le serveur de fichiers statiques pour Ruby on Rails application, mais toujours en charge l'autorisation et l'authentification de l'application?

C'est telle que lorsque le navigateur utilisateur a téléchargé le code HTML initial pour une page de l'application Ruby on Rails, quand il est revenu pour le contenu statique (par exemple un fichier image ou CSS), que cette demande serait: (A) acheminé directement au service Amazon (pas de cycles RoR utilisés pour servir ou bande passante), mais (B) la demande de navigateur pour cet élément (par exemple une image) devrait encore passer par une couche d'authentification / autorisation basée sur le modèle de l'utilisateur dans la application Ruby on Rails - en d'autres termes pour assurer non seulement tout le monde pouvait obtenir l'image. ..

Merci

Était-ce utile?

La solution

La réponse est oui, mais avec un. Vous pouvez utiliser une fonction de S3 qui vous permet de créer des liens pour sécuriser les objets S3 qui a un peu de temps à vivre, par défaut est de 5 minutes. Cela fonctionne pour tout objet S3 qui est téléchargé en privé. Cela signifie que le navigateur n'aura X secondes ou autre pour demander le fichier de S3. Exemple de code de docs pour la gemme AWS:

S3Object.url_for('beluga_baby.jpg', 'marcel_molina')

Vous pouvez également spécifier un expires_in ou expire l'option par fichier. La mauvaise chose est que vous devez créer une aide pour votre feuille de style, l'image et les liens js pour créer les URL S3 appropriées. Je vous recommande de configurer un nom de domaine pour votre seau S3, comme « examples3.amazonaws.com » et mettre tous vos fichiers d'image standard et CSS là comme public. Définissez ensuite que l'hôte d'actifs dans votre configuration de rails. Ensuite, utilisez uniquement les liens sécurisés pour les fichiers statiques qui en ont vraiment besoin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top