الصور المصغرة لا يتم جلبها

أنا أقوم بترحيل مجتمع عمره 15 عامًا إلى Discourse، وقد قررنا عدم ترحيل أكثر من مائة ألف منشور، بل فقط تلك ذات القيمة الدائمة.

في المنتدى القديم، تُحفظ الصور كـ https://static.xxx/uploads/xxx.jpg، وسنبقي هذا الخادم نشطًا بعد الترحيل.

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

تربط الأيقونة مباشرة بالصورة على الخادم الثابت، وهو يعمل بشكل جيد. لكن الصور المصغرة ستكون ‘مفيدة’.

أفكر فقط في مشكلة جدار حماية - كلا الخادمين يقعان في نطاق عناوين IP خاصة، ويمنع جدار الوصول من خادم داخلي الوصول إلى خادم آخر عبر عنوان IP خارجي. أعتقد أنني قمت بإعداد هذا بشكل صحيح في ملف /etc/hosts الخاص بالمضيف، لكنني لست خبيرًا في Docker. عند تنفيذ أمر ping على خادم الصور الثابت، أحصل على عنوان IP الداخلي الصحيح من موجه الأوامر العادي. (ملاحظة لي: أدخل الحاوية واختبر من هناك)

هل هناك شيء آخر يجب علي فعله لإجبار static.xx على استخدام عنوان IP الداخلي؟ الصور الخارجية عند تغليفها بـ () تعمل كما هو متوقع مع نافذة العرض الخفيفة.

هل يمكنك جعله يتحدث مع خادم DNS داخلي؟ يعتمد ذلك على طوبولوجيا الطبقة 3 لديك، لكن هذا سيوقف كل ضجيج الـ loopback.

عندما أعمل ping على خادم الأصول، أحصل على عنوان IP الداخلي. هل يستخدم Docker ملف استضافة بديل؟

استخدم ./launcher enter app لمعرفة ذلك.

آه، هذه هي المشكلة. يتم حلها إلى عنوان IP خارجي.
root@discourse-app:/var/www/discourse# cat /etc/hosts

127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 discourse-app

تمت الإضافة، و… نجاح!

تعديل ملف المضيفين في الحاوية لن يستمر بين عمليات إعادة البناء. من الأفضل استكشاف سلسلة DNS وإصلاحها بدلاً من عمل حل مؤقت.

هذه مشكلة… ولكن بمجرد نقل الملف إلى discourse، لن يتم الرجوع إلى الأصل، أليس كذلك؟