سأنشر هذا هنا، لأن الرابط Configure an S3 compatible object storage provider for uploads مضبوط على حذف جميع الردود بعد شهر.
إن غياب ترميز المحتوى في تنفيذ شبكة CDN الخاصة بـ DO هو بالتأكيد أمر محبط، لكنه يحدث فقط عند تعيين جميع معاملات S3 داخل app.yml. إذا تم تعيين هذه المعاملات في إعدادات الموقع عبر وحدة تحكم المسؤول على الويب، فإن DO تخدم فقط تحميلات S3 عبر شبكة CDN، بينما تظل أصول الموقع مُقدمة من المصدر الأصلي.
يبدو أن هذا مقصود، لأن متغير البيئة DISCOURSE_S3_CDN_URL، إذا تم تعيينه في app.yml، يتجاوز إعداد شبكة CDN للأصول أيضًا، بينما لا يفعل نفس الإعداد عند الإعلان عنه في إعدادات الموقع فقط؟
هذا غير متسق بعض الشيء، لكنه يسمح باستخدام شبكة CDN الخاصة بـ DO لتحميلات 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"
- إخفاء جميع إعدادات S3 ما عدا
DISCOURSE_S3_CDN_URLفيapp.yml، وإعلان شبكة CDN الخاصة بـ DO في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 إذا كنت توافق على هذا، يمكنني تحديث موضوع الويكي الأصلي.