Erreur S3, Assets et CDN

,

Salut, je rencontre un problème étrange, concernant : S3 (DigitalOcean), les assets (via S3) et le point de terminaison CDN.

Description du problème :

En cas d’erreur, je ne vois que l’animation de chargement, et les erreurs s’affichent comme dans l’image ci-dessous :

Voici le schéma d’erreur :

/ Point de terminaison CDN Point de terminaison « normal »
DISCOURSE_S3_BUCKET DÉFINI :x: Pic1 :white_check_mark:
DISCOURSE_S3_BUCKET NON DÉFINI :white_check_mark: :white_check_mark:
  • Point de terminaison CDN : https://<bucket>.fra1.cdn.digitaloceanspaces.com
  • Point de terminaison « normal » : https://<bucket>.fra1.digitaloceanspaces.com

Configuration actuelle :

  DISCOURSE_USE_S3: true

  DISCOURSE_S3_ACCESS_KEY_ID: <token>
  DISCOURSE_S3_SECRET_ACCESS_KEY: <secret>
  DISCOURSE_S3_ENDPOINT: https://fra1.digitaloceanspaces.com
  DISCOURSE_S3_CDN_URL: https://<bucket>.fra1.cdn.digitaloceanspaces.com
  #DISCOURSE_S3_BUCKET: '<bucket>' # pour les assets
  DISCOURSE_S3_UPLOAD_BUCKET: '<bucket>'
  DISCOURSE_S3_REGION: fra1
  DISCOURSE_BACKUP_LOCATION: s3
  DISCOURSE_S3_BACKUP_BUCKET: '<bucket>/backups '
  DISCOURSE_S3_INSTALL_CORS_RULE: false

J’ai également défini le hook suivant (si j’utilise la variable DISCOURSE_S3_BUCKET) :

hooks:
  after_assets_precompile:
    - exec:
        cd: $home
        cmd:
          - sudo -E -u discourse bundle exec rake s3:upload_assets

Je ne rencontre l’erreur qu’avec la combinaison « juste » des configurations. Des idées ? Je peux également fournir plus d’informations si nécessaire.

Vous avez besoin d’un autre CDN. Bunny.net est facile.

2 « J'aime »

Je suis d’accord que Bunny fonctionne bien et est facile à configurer.

J’ai récemment changé de Stackpath (leur prix CDN a triplé l’année dernière :scream_cat:) pour Bunny sur mon forum.

En prime, cela a également été bénéfique pour un utilisateur chinois :

3 « J'aime »

Merci pour la suggestion !

Je fais partie d’un projet open source et le trafic actuel ne justifierait pas l’utilisation d’un CDN différent :sweat_smile:. La raison pour laquelle nous utilisons DigitalOcean est qu’ils ont un programme de parrainage gratuit pour les projets open source.

Le truc, c’est que ça fonctionne un peu avec DO maintenant (les images et les fichiers téléchargés sont synchronisés). J’ai configuré DISCOURSE_S3_UPLOAD_BUCKET, mais pas DISCOURSE_S3_BUCKET. Pouvez-vous donc m’expliquer un peu plus ce que vous entendez par “terriblement cassé” ?

Le truc énervant, c’est que :

  • les commandes comme rake uploads:s3_migration_status ne fonctionnent pas, car elles dépendent de DISCOURSE_S3_BUCKET
  • je ne peux pas utiliser le CDN pour les ressources