S3 et Cloudfront - Configuration ne fonctionne pas

Bonjour à tous !

J’ai suivi ce guide pour configurer S3.

La seule option que je n’ai pas pu trouver est “Assurez-vous que la case « Accès programmatique » est cochée”.

Je n’ai trouvé aucune option de ce genre.

Mais S3 ne fonctionne pas.

Remarques : Le CDN passe par CloudFront (S3 est la source de CloudFront)

Merci

La tâche rake que vous exécutez insiste sur le fait que les valeurs spécifiées se trouvent dans des variables d’environnement, elle n’utilisera pas celles des paramètres du site.

2 « J'aime »

Merci pour votre réponse.

J’ai utilisé Rake, pensant que les URL d’images seraient remplacées par un lien CDN.

Mais le réglage S3 lui-même ne fonctionne pas.

Ai-je oublié quelque chose dans la configuration S3 ?

Oui, vous devez définir les variables d’environnement pour exécuter la tâche rake afin de migrer vers S3.

Je ne comprends pas. J’espère que vous avez examiné mes paramètres de discourse.

Des étapes supplémentaires sont-elles nécessaires en dehors de ce guide ? Set up file and image uploads to S3

Je pense que vous pouvez avoir un aperçu des variables d’environnement dont vous avez besoin ici :
Configure an S3 compatible object storage provider for uploads

EDIT : Dans le contexte d’une commande rake, voir la réponse ci-dessous :point_down:

ou à partir de l’erreur :

Elles doivent être définies dans l’environnement, et non dans les paramètres du site.
Vous pouvez les fournir au moment de l’exécution de la tâche rake en faisant par exemple :

DISCOURSE_S3_BUCKET=foo DISCOURSE_S3_REGION=us-east-1 DISCOURSE_S3_USE_IAM_PROFILE=true rake uploads:migrate_to_s3

Oh d’accord !

Je vais ajouter ceci à app.yml

Exemple :

DISCOURSE_USE_S3: true
  DISCOURSE_S3_REGION: us-west-1
  DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
  DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
  DISCOURSE_S3_CDN_URL: https://falcoland-files-cdn.falco.dev
  DISCOURSE_S3_BUCKET: falcoland-files
  DISCOURSE_S3_BACKUP_BUCKET: falcoland-files/backups
  DISCOURSE_BACKUP_LOCATION: s3

Veuillez lire la réponse de Michael à la place !

Puisque mon installation est fraîche !

Ma seule préoccupation concerne les nouvelles images. Rake, je l’ai fait car l’article le suggérait.

Je pensais qu’il suffisait d’ajouter les paramètres S3 via l’administration Discourse pour servir les nouvelles images depuis S3 !

Voir Configurer un fournisseur de stockage d’objets compatible S3 pour les téléchargements

2 « J'aime »

Oui, puisque ma configuration est S3 et Cloudfront, j’ai ajouté le code S3 comme suit.

Je reconstruis maintenant. J’espère que S3 fonctionnera !

Ça n’a pas marché ! Je pense qu’il manque quelque chose concernant les autorisations S3 !

Des suggestions ?

Il y a 3 parties ici :

  • Discourse peut-il lire/écrire/etc. sur le bucket ?
  • Les utilisateurs anonymes peuvent-ils lire depuis le bucket ?
  • Le CDN peut-il lire depuis le bucket ?

Il semble que ce soit la deuxième partie qui ne fonctionne pas ?

4 « J'aime »

Veuillez examiner ma configuration et me faire savoir si j’ai oublié quelque chose : S3 et CDN CloudFront

Basé sur ce guide

Créé deux buckets :

Un pour le CDN (ACL activée également)
Un pour les sauvegardes
Créé une politique en ajoutant deux buckets, attachée à l’utilisateur IAM, et généré les clés d’accès.

Créé deux distributions CloudFront :

  1. cdn.mysite.com (origine est le bucket cdn) en configurant CNAME.
  2. assets.mysite.com (origine est mysite.com) (La communauté est sur le domaine principal, pas sur un sous-domaine) en configurant CNAME.

Basé sur ce guide :

Ajouté le code AWS S3 et la configuration à app.yml comme suit :

Merci.

Un grand merci à @pfaffman

Qui m’a donné un indice sur l’utilisation de www dans l’adresse hôte. Mon forum utilisait une version non-www !

Je suis passé à la version www, et je l’ai reconstruite !

Tout fonctionne maintenant parfaitement, y compris le CDN et les ressources !

Merci.

1 « J'aime »

Je ne vois pas bien comment cela a résolu le problème, mais je suis content que vous ayez réussi !

2 « J'aime »

Comme je l’ai expliqué ici, après avoir fait cela, le site était hors ligne. Je n’ai donc pas pu voir le résultat. Mais lorsque j’ai essayé la même configuration sur un sous-domaine de test, tout fonctionnait bien. Par conséquent, je soupçonne qu’il y a un problème avec le SSL.

Sur la base de votre indice concernant www, j’ai modifié l’adresse de l’hôte, et le problème a été résolu immédiatement.

Je soupçonne également que le site a pu tomber en panne à cause de la récente panne de service de Cloudflare.

Quoi qu’il en soit, cela a été résolu.

Merci !

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.