502 Bad Gateway و Discourse version NOT FOUND

لقد اتبعت التعليمات لتثبيت Discourse على نظام CentOS 7.

أعددت البريد الإلكتروني بشكل صحيح واستلمت رسالة اختبار. لكنني أحصل دائمًا على خطأ 502 Bad Gateway.

كانت لدي مشكلة سابقة مع ssl_stapling قمت بحلها من خلال تضمين ملف شهادة السلسلة الكاملة.

أرى أن تطبيق Docker يستمع إلى المنفذ المخصص 25654:

0.0.0.0:25654->80/tcp, :::25654->80/tcp

أحصل على أخطاء nginx هذه التي أعتقد أنها ناتجة عن عدم استماع تطبيق Discourse.

connect() failed (111: Connection refused) while connecting to upstream, client: x.x.x.x, server: xxxx, request: “GET / HTTP/2.0”, upstream: “http://x.x.x.x:25654/”, host: “xxxx”

لدي إدخالات DNS تشير إلى كل من [MY_DOMAIN].net و discourse.[MY_DOMAIN].net إلى عنوان IP الصحيح.

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

مرحبًا بك في مجتمع Meta Discourse :slightly_smiling_face:

غالبًا ما أساعد في مشاكل تثبيت SSL في مجتمع Let’s Encrypt. لاحظت أن كتلة الخادم الثانية تفتقر إلى جملة الاستماع لـ IPv6:

listen [::]:443 ssl http2;

بدون ذلك، لست متأكدًا من أين ستنتهي حركة مرور IPv6.

:man_shrugging:

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

شكرًا جزيلاً لك، جوناثان. هذا حل مشكلة رفض الاتصال.

الآن عندما أحاول الدخول إلى عنوان URL الخاص بـ Discourse، يتم إعادة توجيهي إلى صفحة “مرحبًا بكم في CentOS”، وأظهر سجل الأخطاء التالي.

nginx settings2

ما زال أداة فحص Discourse تشير إلى أن الإصدار غير موجود.

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

أرى باستخدام netstat أن لدي عمليتي docker-proxy على المنفذ 25654، واحدة لـ tcp وأخرى لـ tcp6. أتساءل عما إذا كانت هذه مشكلة لأنني لا أرى هذا في لقطات الشاشات من الدروس الأخرى.

بما أن CentOS يبدو أنه يتطلب إعدادًا مختلفًا، فقد اتبعت إعدادات nginx الواردة في هذا الدليل:

كما قمت بإجراء بعض التغييرات الإضافية على ملف app.yml وإعدادات nginx التي رأيتها في هذا الدليل، لأنني أريد تشغيل MYDOMAIN.net و discourse.MYDOMAIN.net على نفس الجهاز عبر nginx:

على سبيل المثال، قمت بتفعيل قالب Web Socket.

ولكن الآن قرأت في تعليق على ذلك الدليل أنه إذا كنت تستخدم الـ Socket، فيجب عليك إلغاء تفعيل جميع المنافذ المكشوفة، رغم أن الإعداد الأول أضاف إدخالًا لـ “25654:80” بحيث يستمع إلى الحركة الموجهة إلى المنفذ 25654 عبر nginx.

أعتذر إذا كانت هذه مشكلة إعداد أساسية، فإعادة توجيه المنافذ والـ Sockets وإعداد الشبكة بشكل عام ليست من نقاط قوتي.

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

هذه إعدادات متقدمة. بالنسبة للأشخاص غير ذوي الخبرة في إعداد عكسي للوكلاء (reverse proxies) وإدارة Docker، نوصي باتباع التثبيت القياسي الرسمي لـ Discourse الوحيد الرسمي. يفترض ذلك وجود خادم جديد تمامًا وأن Discourse هو تطبيق الويب الوحيد عليه.

3 إعجابات