لقد اتبعت مؤخرًا دليل install-cloud لتثبيت Discourse على مثيل AWS Lightsail. على الرغم من اتباع التعليمات عن كثب والبدء من الصفر عدة مرات، للأسف أحصل على خطأ “connection refused” عند محاولة الوصول إلى منتداي.
الخطوات التي اتبعتها كانت:
إنشاء مثيل Lightsail جديد
تعيين عنوان IP ثابت
فتح المنفذ 443
توجيه النطاق الفرعي الخاص بي (forum.procedural.audio) إلى عنوان IP
اتباع أوامر تثبيت Discourse في الدليل، بما في ذلك تقديم عنوان بريد إلكتروني لـ LETS_ENCRYPT
تصفح منتداي… تم رفض الاتصال
يُخرج الأمر ./discourse-doctor أن إصدار Discourse في forum.procedural.audio هو NOT FOUND. يمكنني استقبال بريد إلكتروني اختباري بنجاح من Discourse.
لا يستقبل الأمر ping forum.procedural.audio بيانات ولكنه يجد عنوان IP الثابت الصحيح.
لذلك يبدو أن المشكلة متعلقة بـ SSL، على الرغم من أنني لست متأكدًا من كيفية إصلاحها. في الدليل shared/standalone/ssl/ توجد أربعة ملفات:
forum.procedural.audio.cer (الملف فارغ)
forum.procedural.audio.key (الملف يحتوي على مفتاح)
forum.procedural.audio_ecc.cer (الملف فارغ)
forum.procedural.audio_ecc.key (الملف يحتوي على مفتاح)
لذا لست متأكدًا مما إذا كانت ملفات .cer الفارغة جزءًا من المشكلة. ألاحظ أيضًا، مع ذلك، أن السجلات تشير إلى أنها تبحث عن الملف في /shared/ssl/* بدلاً من /shared/standalone/ssl/*، وهذا يبدو ذا صلة أيضًا.
المشكلة هي أن مثيل Lightsail الخاص بك غير قابل للاتصال خارجيًا. هذا ما كان يخبرك به discourse-doctor - إذا قمت بفتح المنفذ 443 فقط، فهذا هو السبب على الأرجح.
لن يعمل HTTPS على 443 حتى يكون لديك شهادة. ليس لديك شهادة (وهذه الملفات الشهادات فارغة) لأن Let’s Encrypt لم يتمكن من التسجيل بسبب مشكلة الاتصال.
بافتراض أنك قمت بتعيين عنوان خارجي ثابت، افتح أيضًا المنفذ 80 ثم حاول مرة أخرى. سيحتاج المنفذ 80 إلى أن يكون مفتوحًا على أي حال حتى يتمكن أي عميل يتصل عبر HTTP من إعادة التوجيه.
لا يظهر forum.procedural.audio في نظام أسماء النطاقات (DNS)، أو بعبارة أخرى، لا يحل اسم المضيف إلى عنوان IP. لقد تحققت للتو عبر CloudFlare و Google DNS، وكلاهما لا يمكنه العثور على اسم المضيف هذا. إذا لم أتمكن من حله، فلن يتمكن discourse-doctor أيضًا.
متى قمت بإنشاء سجل ‘a’ للخادم الخاص بك؟ هل تحققت من أوقات النسخ المتماثل الخاصة بهم؟
تأكد من إصلاح هذا قبل محاولة بناء الخادم مرة أخرى. يمنح Let’s Encrypt عددًا محدودًا من المحاولات للتسجيل/التجديد وعندما تصل إلى هذا الحد، لن تتمكن من الحصول على شهادة لمدة سبعة أيام.
لقد امتلكت النطاق في Namecheap لمدة يومين، والذي يشير إلى Route 53 (الطبقة الإضافية من التوجيه غير المباشر هي لأن Route 53 لا يدعم نطاقات .audio). سجل النطاق الرئيسي موجود منذ معظم هذين اليومين. سجل النطاق الفرعي موجود منذ حوالي ساعة.
إذا كانت هذه هي المشكلة، فأعتقد أن تشغيل ping forum.procedural.audio من نسختي سيفشل في حل عنوان IP. لكن عنوان IP يتم حله.
حسنًا. حسنًا، https://dnschecker.org/#A/forum.procedural.audio يُظهر أن الاسم يُحل في العديد من الأماكن، لذا ربما تكون مشكلة انتشار. عندما أطلب من 1.1.1.1 أو 8.8.8.8 البحث عنه، لا أتلقى أي رد. ومع ذلك، فإن NS-337.AWSDNS-42.COM يُرجعه، لذا قد تحتاج فقط إلى الانتظار لفترة.
ولكن discourse-setup سيحاول البحث عن العنوان ومعرفة ما إذا كان يمكنه الاتصال بنفسه. إذا فشل ذلك، فعادةً ما تكون مشكلة DNS أو أن المنافذ غير مفتوحة.
لقد مر ما يقرب من أسبوع وما زلت غير قادر على نشر منتدى. هل لدى أي شخص أفكار إضافية؟ المنافذ 80 و 443 مفتوحة. لا أعتقد أن هذه مشكلة DNS - لا يجد discourse-doctor إصدار discourse في localhost (بالإضافة إلى forum.procedural.audio). أي مساعدة ستكون موضع تقدير.
لذا أعتقد أنني كنت مخطئًا ولكني لست متأكدًا مما يجب فعله حيال ذلك. لست متأكدًا لماذا لا يمكن لـ discourse-doctor العثور على إصدار discourse في localhost.