أكره الأسئلة الغامضة. ماذا كنت تفكر عندما طلبت “هذا”؟
هذه هي إعداداتي الحالية:
إعداد Discourse:
- تثبيت قياسي في حاوية واحدة
- تم الإعداد كعنوان فرعي: forums.domain.tld
- إعداد S3 قياسي للملفات المحملة
- يتم حفظ الملفات المحملة على S3
إعداد S3:
- Digital Ocean S3 Bucket
- تم تشغيل Bucket للوصول الخارجي
- لا توجد طبقات أمان أو أذونات أخرى
إعداد CDN:
- bunny CDN
- تم إعداد المراجع المسموح بها: domain.tld و *.domain.tld
- المفتاح الذي أدى إلى تعطيل الوصول إلى الصور الرمزية هو “حظر الوصول المباشر إلى ملفات URL”.
عند تشغيله، تلقت جميع الصور الرمزية خطأ 403. عند إيقافه، تظهر الصور الرمزية.
الصور غير الرمزية:
- عنوان URL في Discourse:
https://cdn.domain.tld/optimized/3X/3/1/filename_#_size.jpeg
الصور الرمزية:
- عنوان URL في Discourse:
https://forums.domain.tld/user_avatar/forums.domain.tld/mazzini/48/776_2.png
يشير منشور سابق، كيف يتم تخزين الصور الرمزية والوصول إليها؟، إلى أن Discourse يستخدم وكيلًا للصور الرمزية. وبالتالي، فإن بنية عنوان URL للصور الرمزية ليست بنية عنوان URL قياسية للصور.
ضمن نظامي، تتوفر الصور الرمزية إما من S3 أو CDN. يشير هذا إلى أنه في مكان ما/بطريقة ما يتم تحويل عنوان URL للصورة الرمزية إلى عنوان URL لـ CDN.
عندما يحدث هذا، يعتبر CDN عنوان URL رابط وصول مباشر ويحظر الوصول برمز 403.
آمل أن أكون قد أجبت على سؤال “هذا”؟