Digitalocean块存储 VS amazon S3

我在此发布此内容,因为 Configure an S3 compatible object storage provider for uploads 已设置为一个月后删除所有回复。

DO CDN 实现中缺少 content-encoding 确实令人沮丧,但这仅在 app.yml 中设置_所有_ S3 参数时才会发生。如果这些参数是通过 Web 管理控制台在站点设置中设置的,那么 DO 仅通过 CDN 提供 S3 上传内容,而站点资源仍从源服务器提供。

这似乎是有意为之,因为如果在 app.yml 中设置了 DISCOURSE_S3_CDN_URL 环境变量,它会覆盖资源的 CDN 设置,而仅在站点设置中声明该设置时则不会?

这有点不一致,但它允许仅将 DO CDN 用于 S3 上传,而不会破坏站点:

有两种方法可以实现这一点:

  • 仅在站点设置中声明_所有_ S3 设置
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"
  • app.yml 中设置除 DISCOURSE_S3_CDN_URL 之外的所有 S3 设置,并在 SiteSetting.s3_cdn_url 中声明 DO CDN
  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 如果您同意这一点,我可以更新原始的 wiki 主题。