تعذر عرض الصور أو تحميلها

لقد قمت مؤخرًا بنقل منتداك من خادم إلى آخر. الإصدار الحالي هو 2.6.0.beta2. كل شيء يعمل بشكل جيد باستثناء أن الصور التي تم رفعها سابقًا غير مرئية، كما لا يستطيع المستخدمون رفع صور جديدة. بالإضافة إلى ذلك، لا يمكن للمستخدمين تحديث صور ملفاتهم الشخصية.

جربت عدة حلول ذُكرت في هذا المنتدى، لكن لم ينجح أي منها معي. أحتاج إلى مساعدة!

إعجاب واحد (1)

هل كنت تستخدم سابقًا خدمة S3 أو أي تخزين متوافق مع S3؟

ما الذي استدعى هذا التغيير؟ وكيف تختلف الخوادم، وكيف تم بناء الخادم الجديد؟

إعجابَين (2)

لم أستخدم S3 على هذا الخادم من قبل، حتى لأغراض الاختبار.

كان علي تغيير الخادم لأنني أردت تغيير المنطقة. الخادم الجديد مطابق للخادم القديم من جميع النواحي، باستثناء المنطقة. كنت أستخدم Cloudfront CDN، ولكن بعد الهجرة قمت بإبطال ذاكرة التخزين المؤقت بالكامل.

يمكنني رؤية أن الصور القديمة متاحة على الخادم الجديد لأنها كانت مدرجة ضمن النسخة الاحتياطية، ومع ذلك لا تزال هذه المشكلة قائمة.

هل قمت بترقية المثيل القديم إلى نفس المستوى قبل إجراء/استعادة النسخة الاحتياطية؟

نعم، كان كل شيء متطابقًا في كلا الخادمين. لقد اتبعت الخطوات الصحيحة للهجرة، كما قمت بفحص المشكلات التي واجهها مستخدمون آخرون أثناء الهجرة.

المشكلة ليست فقط في عدم قدرتي على عرض الصور القديمة، بل إن المستخدمين غير قادرين على تحميل صور جديدة أيضًا. أعتقد أن المشكلة تتعلق ببعض برامج تشغيل الصور (أعتذر عن التخمين الغامض).

وهذا باستخدام التثبيت القياسي؟

نعم، مع الخطوات المذكورة في discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

حسنًا، لتلخيص الأمر: كان خادمك القديم يعمل على التثبيت القياسي. قمت بإعادة التثبيت على نظام مُنشأ بنفس الطريقة، واستعدت النسخة الاحتياطية.

إذا نظرت إلى مصدر الصفحة، كيف تبدو عناوين URLs للصور؟ وكيف يقارن ذلك بملفات التحميل في /var/discourse/standalone/web-only/uploads/default؟

ماذا يحدث إذا حاولت فتح رابط صورة مباشرةً؟

هل كان أي من هذين التثبيتين يعتمد على حاويتين؟

تم إعادة تصنيف الموضوع من bug إلى Support لأننا لا نملك خطوات واضحة لإعادة إنتاج المشكلة. بمجرد تحديد السبب الجذري، قد نحتاج إلى تقديمه كخطأ، لكن هذا ليس هو الحال حاليًا.

يبدو أن صور المنتدى الخاصة بي مُحمَّلة في /var/discourse/shared/standalone/uploads/default/optimized/1X. توجد العديد من الصور المخزَّنة بعدة دقّات، ومع ذلك، فإن اسم ملف الصورة في المنتدى وفي الدليل غير متطابق.

أحصل على رمز خطأ 404 لـ https://forumcdn.domain.com/uploads/default/optimized/1X/55cfd1bf40edcb3ac19d3e412a5ad63f93c0a854_2_225x250.png، ولكن عند استبدال اسم ملف الصورة باسم ملف من الدليل، تعمل بشكل صحيح. جميع ملفات الصور سليمة ويمكن عرضها عند فتحها مباشرة، المشكلة فقط في أن أسماء الملفات على المنتدى مختلفة.

هل تم تمكين تضمين الصور المصغرة في النسخ الاحتياطية في المثيل المصدر؟

إذا لم يكن كذلك:

تضمين الصور المصغرة المُنشأة في النسخ الاحتياطية. سيؤدي تعطيل هذا الخيار إلى جعل النسخ الاحتياطية أصغر حجمًا، لكنه يتطلب إعادة معالجة (rebake) لجميع المنشورات بعد الاستعادة.

وهو ما يعني أنك ستحتاج إلى تشغيل أمر rake posts:rebake

إعجاب واحد (1)

تم تعطيل include thumbnails in backups على مثيل المصدر. لقد قمت للتو بتشغيل rake posts:rebake داخل حاوية discourse وحصلت على النتيجة التالية:

root@vps-app:/var/www/discourse# rake posts:rebake
Rebaking post markdown for 'default'
      628 / 628 (100.0%)
628 posts done!

للتأكد تمامًا، قمت بإفراغ ذاكرة التخزين المؤقت لـ CDN، لكنني ما زلت غير قادر على عرض أي صور. أيضًا، لا يمكنني تحميل أي صور، لذا أشك في أن هذا الحل يمكنه معالجة تلك المشكلة.

إعجاب واحد (1)