Je publie ceci ici, car Configure an S3 compatible object storage provider for uploads est configuré pour supprimer toutes les réponses après un mois.
L’absence de content-encoding dans l’implémentation du CDN de DO est certainement décevante, mais cela ne se produit que lorsque l’on définit tous les paramètres S3 dans app.yml. Si ces paramètres sont définis dans les paramètres du site via la console d’administration web, DO ne sert les uploads S3 que via le CDN, tandis que les assets du site sont toujours servis depuis la source.
Il semble que cela soit intentionnel, car la variable d’environnement DISCOURSE_S3_CDN_URL, si elle est définie dans app.yml, remplace également le paramètre CDN pour les assets, alors que ce même paramètre, lorsqu’il est déclaré uniquement dans les paramètres du site, ne le fait pas ?
C’est un peu incohérent, mais cela permet d’utiliser le CDN de DO uniquement pour les uploads S3, sans casser le site :
Il existe deux façons de faire cela :
- déclarer tous les paramètres S3 uniquement dans les paramètres du site
rails c
SiteSetting.s3_upload_bucket="<bucket_name>/<uploads_folder>"
SiteSetting.s3_backup_bucket="<bucket_name>/<backups_folder>"
SiteSetting.enable_s3_uploads=true
SiteSetting.s3_access_key_id="<key>"
SiteSetting.s3_secret_access_key="<secret_key>"
SiteSetting.s3_endpoint="https://<sfo2>.digitaloceanspaces.com"
SiteSetting.s3_cdn_url="https://<bucket_name>.<sfo2>.cdn.digitaloceanspaces.com/<uploads_folder>"
SiteSetting.backup_location="s3"
- dupliquer tous les paramètres S3 sauf
DISCOURSE_S3_CDN_URLdansapp.yml, et déclarer le CDN de DO dansSiteSetting.s3_cdn_url
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: <sfo2>
DISCOURSE_S3_ENDPOINT: https://<sfo2>.digitaloceanspaces.com
DISCOURSE_S3_ACCESS_KEY_ID: <key>
DISCOURSE_S3_SECRET_ACCESS_KEY: <secret_key>
# DISCOURSE_S3_CDN_URL: https://<bucket_name>.<sfo2>.cdn.digitaloceanspaces.com/<uploads_folder>
DISCOURSE_S3_BUCKET: <bucket_name>/<uploads_folder>
DISCOURSE_S3_BACKUP_BUCKET: <bucket_name>/<backup_folder>
DISCOURSE_BACKUP_LOCATION: s3
rails c
SiteSetting.s3_cdn_url="https://<bucket_name>.<sfo2>.cdn.digitaloceanspaces.com/<uploads_folder>"
@falco si tu es d’accord avec cela, je peux mettre à jour le sujet wiki original