مشكلة في المنفذ - الرجاء المساعدة

مرحبًا؛

لقد اشتريت خادمًا افتراضيًا خاصًا (VPS) من Digital Ocean واستخدمت خيار التثبيت بنقرة واحدة الخاص بهم لتثبيت Discourse.

بعد إدخال اسم النطاق وما إلى ذلك وإكمال الإعداد القياسي، كل مرة أدخل فيها عنوان IP الخاص بخادمي الافتراضي (تم تثبيت Discourse على النطاق الرئيسي الذي أشرت إليه إلى عنوان IP الخاص بالخادم)، تظهر لي الرسالة التالية:

لا يمكن الوصول إلى هذا الموقع

(عنوان-IP-الخادم-الافتراضي) رفض الاتصال.

جرب:

  • التحقق من الاتصال
  • [التحقق من الوكيل وجدار الحماية]

ERR_CONNECTION_REFUSED

لقد فتحت منافذ HTTP و HTTPS، وتظهر على أنها مفتوحة عند تشغيل أمر sudo ufw status.

حاولت مسح ذاكرة التخزين المؤقت في حال كانت المشكلة مرتبطة بالمتصفح محليًا، لكن دون جدوى.

هل لديك أي اقتراحات أو مساعدة؟ إذا كان لدى أي شخص أفكار أو يحتاج إلى معلومات إضافية، فلا تتردد في النشر أدناه.

يجب عليك استخدام التثبيت القياسي الرسمي لـ Discourse.

يتطلب Discourse اسم نطاق (hostname). لا يمكنه العمل باستخدام عنوان IP مجرد.

تأكد من عدم وجود أي وكيل عكسي مثل Cloudflare.

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

لقد قمت بإعداده باستخدام اسم نطاق وقمت بتوجيهه نحو عنوان IP بشكل صحيح. ومع ذلك، لا يزال يعرض لي رفض الاتصال، حتى بعد انتظار أكثر من 24 ساعة.

تحديث:

قمنا بتثبيت apache2 للتأكد من عمل المنافذ وما إلى ذلك، وقد قمنا بفتح المنافذ.

ظهر apache2 بشكل صحيح على عنوان IP، ولكن بمجرد إزالة apache2؛ عاد المشكلة الأصلية.

نعتقد أن المشكلة تتعلق بـ Docker والمنافذ. نحن فقط لا نعرف كيفية إصلاحها.

هل لدى أي أفكار للمساعدة؟

كمرجع؛ لقد تواصلنا أيضًا مع DigitalOcean نظرًا لأننا استخدمنا تثبيت Discourse من سوقهم.

قم بتدمير هذا الـ Droplet وأعد التثبيت تبعًا للإرشادات في: Install Discourse in production with the official supported instructions

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

لقد جربت ذلك للتو، والمشكلة لا تزال كما هي.

تم رفض الاتصال.

ما هي عنوان IP والاسم النطاقي (domain name) للقطرة (droplet) الخاصة بك؟

ما هو ناتج أمر docker ps؟

عنوان IP للنقطة السائلة: 104.248.170.134 (يوجه نطاق robloxfrance.com إليه. لكنني قمت بتحديث سجلات DNS مؤخرًا فقط لتوجيه النطاق إلى عنوان IP.)

مخرجات أمر Docker ps:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0296e70dba0b local_discourse/app “/sbin/boot” 6 minutes ago Up 6 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app

إذا قمت بتوجيه DNS بعد تشغيل الإعداد، فسوف تفشل في خطوة إصدار الشهادة وقد ينتهي بك الأمر بفشل بدء تشغيل nginx.

هل يمكنك تجربة أمر ./launcher rebuild app.

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

لقد جربت للتو أمر ./launcher rebuild app

ولا يزال الحظ لم يحالفني.

ما هو ناتج curl -v localhost؟

*   جاري محاولة الاتصال بـ 127.0.0.1:80...
* تم تعيين TCP_NODELAY
* تم الاتصال بـ localhost (127.0.0.1) على المنفذ 80 (#0)
> GET / HTTP/1.1
> Host: localhost
> User-Agent: curl/7.68.0
> Accept: */*
>
* فشل في الاستقبال: تم إعادة تعيين الاتصال من قبل الطرف الآخر
* جاري إغلاق الاتصال 0
curl: (56) فشل في الاستقبال: تم إعادة تعيين الاتصال من قبل الطرف الآخر

تحديث:

جربنا الأمر التالي: sudo systemctl restart docker.service

ونجح الأمر للحظة عند تحديث صفحة الويب (تم تشغيل خادم الويب nginx)، لكن عند التحديث مرة أخرى؛ عاد الأمر إلى رفض الاتصال.

كما قمنا بتشغيل الأمر: docker run -it --rm hello-world

تم تنفيذه بنجاح وبدون أخطاء.

في الوقت الحالي، نعتقد أن المشكلة قد تكون مرتبطة بـ Discourse وليست مشكلة في Docker.

نقدر أي مساعدة تقدمها.

لقد قمنا للتو بتشغيل أمر سجلات Docker: ./launcher logs app

والذي أعطى هذا:

إذا كان بإمكان أي شخص المساعدة، فسيكون ذلك مُقدَّرًا.

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

نقوم حاليًا بإسقاط التشفير SSL وإعادة البناء لمعرفة ما إذا كان ذلك يعمل بشكل أفضل.

نقوم حاليًا بإعادة تكوين تثبيت Discourse على الخادم الافتراضي (VPS)، لذا لا نستخدم بريد إلكتروني Let’s Encrypt.

تحديث:

أعدنا تكوين التثبيت وشغلنا التثبيت العادي ولم نضف بريد إلكتروني Let’s Encrypt. والآن عدنا إلى الوضع الأول حيث يرفض الاتصال.

يبدو أنك وصلت إلى حدود معدل استخدام Let’s Encrypt. من الصعب معرفة كيفية تجنب استخدام Let’s Encrypt، لذا فأنت على الأرجح لا تزال تطلب الشهادة (ولكن الآن، إذا كانت الشهادة على وشك الانتهاء، فلن تتلقى تحذيرًا عبر البريد الإلكتروني). إذا كنت محقًا، فيمكنك:

  • الانتظار حتى الأسبوع القادم (سهل ما لم تكن غير صبور)
  • استخدام اسم نطاق مختلف (سهل، ما لم تكن تحب اسمك حقًا أو تواجه صعوبة في إعدادات DNS)
  • اتباع إرشادات إعداد Let’s Encrypt مع نطاقات متعددة (صعب نسبيًا للمبتدئين)
  • دفع مبلغ لشخص ما للمساعدة في مسألة النطاقات المتعددة و/أو اكتشاف أن المشكلة تتعلق بشيء آخر
إعجاب واحد (1)