Digitalocean block storage VS amazon S3

Pubblicherò questo messaggio qui, poiché Configure an S3 compatible object storage provider for uploads è impostato per eliminare tutte le risposte dopo un mese.

La mancanza di un content-encoding nell’implementazione del CDN di DO è sicuramente un peccato, ma si verifica solo quando si impostano tutti i parametri S3 all’interno di app.yml. Se questi parametri sono impostati nelle impostazioni del sito tramite la console di amministrazione web, DO serve le upload S3 solo tramite CDN, mentre le risorse del sito continuano a essere servite dalla fonte.

Sembra che questo sia intenzionale, poiché la variabile d’ambiente DISCOURSE_S3_CDN_URL, se impostata in app.yml, sovrascrive anche l’impostazione del CDN per le risorse, mentre la stessa impostazione, se dichiarata solo nelle impostazioni del sito, non lo fa?

Questa è un po’ inconsistente, ma consente di utilizzare il CDN di DO solo per le upload S3, senza danneggiare il sito:

Ci sono due modi per farlo:

  • dichiarare tutte le impostazioni S3 solo nelle impostazioni del sito
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"
  • sovrapporre tutte le impostazioni S3 tranne DISCOURSE_S3_CDN_URL in app.yml e dichiarare il CDN di DO in SiteSetting.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 se sei d’accordo con questo, posso aggiornare l’argomento wiki originale

1 Mi Piace