لا يمكنني تثبيت Discourse خلف Nginx-proxy-manager

لقد حاولت نشر (محليًا، عبر مضيف افتراضي) آلة افتراضية تعمل بنظام Ubuntu Server 18.04 لتشغيل Discourse.

المشكلة تكمن في أنني عند محاولة توجيه حركة المرور الموجهة إلى النطاق domain.xyz إلى العنوان x.x.x.x واستخدام الشهادات المثبتة/المُنشأة محليًا على nginx-proxy-manager، يرفض برنامج التثبيت (لـ Discourse) الاعتراف بأن المنفذ 443 مفتوح. وعند التحقق من صحة النطاق، يفشل في كل مرة معلنًا أن المنفذ 443 غير قابل للوصول، بينما المنفذ 80 قابل للوصول.

أما بالنسبة للاختبار بنفسي، فأحصل على أخطاء 502 عبر Chrome، مما يشير إلى أن خادم الويب معطل (DOWN). وهذا غريب. يجب أن يكون يبحث عن ملف أو شيء ما عند تشغيل هذا الاختبار. ¯\_(ツ)_/¯

لقد حاولت تعيين خيارات التكوين يدويًا في ملف app.yml كما هو موضح في التوثيق الرسمي لاستضافته جنبًا إلى جنب مع تطبيقات أخرى. كما حاولت البناء يدويًا عبر ./discourse-doctor، ولكن دون جدوى. فحاوية Docker تنطلق، لكن لا يتم عرض أي شيء عبر متصفح الويب (خطأ NGINX 502).

من حيث تكوين وكيل العكس NGINX، لا أجد العديد من الخيارات. فكل شيء يعتمد على واجهة رسومية (GUI) لتبسيط العملية. وبشكل عام، عملت خدمات أخرى مثل Bitwarden و NextCloud و Restya بشكل صحيح من الصندوق، لكن Discourse يبدو متطلبًا جدًا أو ما شابه، فبغض النظر عما جربته، لا يبدو أن أي شيء يعمل.

من حيث التكوين، قمت بإعداده على النحو التالي:

وبالنسبة لـ SSL، فإنني أستخدم شهادة تُطبق من خادم NGINX-Proxy الموجود فوق Discourse أو أي تطبيق آخر أعمل عليه.

(للتوضيح، فإن خادم وكيل العكس هو آلة افتراضية منفصلة تعمل أيضًا بنظام Ubuntu 18.04 وتستخدم Nginx-Proxy-Manager، وهو حل لإدارة إعدادات وكيل العكس NGINX المتعددة.)

إذا كنت تقوم بإعداد وكيل عكسي، فأنت مسؤول عن ذلك. ستحتاج إلى تعديل ملف app.yml وفقًا لذلك، ثم تنفيذ الأمر ./launcher rebuild app.

حسنًا، عرفت المشكلة.

بالنسبة للمستخدمين مثلي الذين لديهم آلة افتراضية / مستضيف / أي شيء آخر منفصل لتشغيل خادم NGINX، لا حاجة لتفعيل أعلام أو ميزات مخصصة.

فقط وجه نطاقك إلى عنوان IP الخاص بك، وقم بإعداد NGINX لتوجيه اسم النطاق هذا إلى خادم Discourse، وستعمل الأمور ببساطة كما يجب. (لاحظ أنه إذا كنت تستخدم SSL، فقم بالإعدادات وفقًا لذلك.)

لا أستطيع أن أصدق أنني أضعت أكثر من 5 ساعات في ذلك، مجرّبًا ومعدّلًا فقط لأدرك أن الإعدادات الافتراضية تعمل بشكل مثالي.