لا يمكن الاتصال بتثبيت discourse

أحاول تثبيت Discourse جديدًا على خادم OVH يعمل بنظام Fedora Server 38، وقد تم التثبيت بنجاح، لكن لا يمكنني الاتصال به باستخدام اسم المضيف الذي حددته في app.yml forums.dogsrv.dev.
تم تعطيل جدار الحماية الخاص بـ OVH، وتم تعطيل firewalld، وتم تعطيل iptables، ويتم حل DNS بشكل صحيح، لقد ضعت في ما يجب التحقق منه بعد ذلك، أي أفكار ستكون موضع تقدير.

يمكنك الاطلاع على /var/discourse/shared/standalone/log/var-log/nginx/production.log. تخميني هو أنك تعرضت لتحديد المعدل بواسطة Let’s Encrypt لأن DNS أو شيء آخر منع إصدار شهادة.

إذا كان الأمر كذلك، يمكنك الانتظار لمدة أسبوع أو استخدام نطاق فرعي مختلف (مثل forum بدلاً من forums).

هل قمت بتشغيل discourse-setup؟

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

من الغريب أنني لا أملك ملف production.log في هذا المجلد، ولكن لدي ملف error.log يحتوي فقط على هذا الخطأ مرارًا وتكرارًا

2023/06/02 07:27:34 [emerg] 289163#289163: cannot load certificate "/shared/ssl/forums.dogsrv.dev.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

وبالفعل، عندما نظرت إلى ملف الشهادة هذا، كان فارغًا.

لقد قمت بتشغيل discourse-setup في البداية، ولكنه كان دائمًا يخرج بخطأ

Hostname for your Discourse? [forums.dogsrv.dev]:

Checking your domain name . . .
WARNING: Port 443 of computer does not appear to be accessible using hostname: forums.dogsrv.dev.
WARNING: Connection to http://forums.dogsrv.dev (port 80) also fails.

والذي افترضت أنه بسبب أن نطاق .dev مدرج في قائمة HSTS preload الخاصة بجوجل افتراضيًا، لذلك قمت بتكوين ملف app.yml يدويًا وتشغيل ./launcher rebuild app، والذي بدا أنه يعمل بشكل جيد.

لقد حاولت تبديل النطاق الفرعي إلى forum وأعدت بناء التطبيق، ولكن لا تزال المشكلة قائمة وأحصل على نفس الخطأ السابق باستثناء أن forum بدلاً من forums.

هل قمت بفتح منافذ على جدار الحماية الخاص بك خارج Docker؟

نعم، تم تعطيل firewalld بالكامل مع iptables. إذا قمت بتثبيت وتكوين Apache أو Nginx يدويًا على الخادم نفسه، يمكنني رؤية أنه تم السماح بحركة المرور على المنفذين 80 و 443، ولكن بسبب HSTS أحتاج إلى تمكين إعادة كتابة HTTPS على جميع طلبات HTTP وشهادة SSL عاملة، وهذا هو الشيء الذي يمثل مشكلة في الوقت الحالي.

ربما يجب عليك فتح المنفذين 80 و 443 إذن؟

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

لا يزال الأمر يبدو وكأن شيئًا ما يتداخل مع حركة المرور الواردة. هل تستخدم Cloudflare لنظام أسماء النطاقات؟

لا، أستخدم جوجل.

إذا فشل الاختبار الذي يقوم به Discourse-setup، فستحتاج إلى العثور على تفسير لذلك. من الواضح جدًا أنه صحيح وأن Let’s Encrypt لا يمكنها تعيين شهادة.

نظرًا لأنك تعرف كيفية تثبيت nginx و apache، يمكنك محاولة جعل Let’s Encrypt تصدر شهادة، ولكن من الواضح جدًا أنها تحظر المنفذ 80 و/أو 443.

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

حسنًا، كانت المشكلة هي أن discourse-setup معطل عند استخدام إصدارات أحدث من netcat كما هو موضح في طلب السحب هذا: https://github.com/discourse/discourse_docker/pull/697
إزالة العلامة -p تصلح discourse-setup من الإبلاغ بشكل خاطئ عن عدم قدرته على إنشاء اتصال على المنافذ، ثم يكتمل ويعيد بناء التطبيق بنجاح ويمكنني الآن الاتصال بتثبيتي بسلاسة.
شكراً للمساعدة.

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

يسرني أنك تمكنت من إصلاح المشكلة! أنا مرتبك بشأن سبب فشل إعادة البناء في الحصول على الشهادة، حيث كنت أعتقد أنك ستقوم بإعادة البناء وتتخطى خطوة إعداد discourse.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.