Configure an S3 compatible object storage provider for uploads 은 한 달 후 모든 답변이 삭제되도록 설정되어 있으므로, 여기에도 이 내용을 공유합니다.
DO CDN 구현에서 content-encoding이 누락되는 것은 분명히 아쉬운 점이지만, 이는 app.yml 안에 모든 S3 매개변수를 설정할 때만 발생합니다. 이러한 매개변수가 웹 관리 콘솔을 통해 사이트 설정에서 설정되면, DO는 S3 업로드만 CDN을 통해 서빙하고 사이트 자산은 여전히 소스에서 서빙됩니다.
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 설정을 섀도(shadow)하고, DO CDN을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 이 의견에 동의하신다면 원래 위키 토픽을 업데이트할 수 있습니다.