أحاول تثبيت Discourse على خادم سحابي من Hetzner ولكن عند تشغيل ./discourse-setup أحصل على رسالة تفيد بأن المنافذ محظورة (discourse.domain.de ليس هو النطاق الحقيقي بالطبع):
تحذير: لا يبدو أن المنفذ 443 للجهاز يمكن الوصول إليه باستخدام اسم المضيف: discourse.discourse.domain.de.
تحذير: فشل الاتصال بـ http://discourse.domain.de (المنفذ 80) أيضًا.
كما اقترح أداة الإعداد، أريد الآن التحقق مما إذا كان discourse.domain.de يحل إلى عنوان IP للخادم السحابي. عندما أقوم بتشغيل dig discourse.domain.de أحصل على المخرجات التالية:
؛ <<>> DiG 9.16.1-Ubuntu <<>> discourse.domain.de
؛؛ خيارات عامة: +cmd
؛؛ حصلت على إجابة:
؛؛ - >>HEADER<< opcode: QUERY, status: NOERROR, id: 28839
؛؛ علامات: qr rd ra؛ الاستعلام: 1، الإجابة: 1، السلطة: 0، إضافي: 1
؛؛ قسم OPT PSEUDOSECTION:
؛ EDNS: version: 0, flags:; udp: 65494
؛؛ قسم السؤال:
؛discourse.domain.de. IN A
؛؛ قسم الإجابة:
discourse.domain.de. 4134 IN A XXX.XXX.XXX.XXX (عنوان IP الصحيح)
؛؛ وقت الاستعلام: 0 مللي ثانية
؛؛ الخادم: 127.0.0.53#53(127.0.0.53)
؛؛ متى: الأحد 24 أبريل 10:14:44 UTC 2022
؛؛ حجم الرسالة المستلمة: 70
والتي تبدو جيدة بالنسبة لي.
الشيء التالي الذي يُقترح هو أنه قد تكون هناك مشكلة في جدار الحماية. لدي جدار حماية مع فتح المنافذ التالية:
لذا أعتقد أن جدار الحماية ليس هو السبب في الرسالة أعلاه. هل من الممكن أن يكون هناك شيء آخر يمنع المنافذ؟ قرأت أن Apache يمكن أن يسبب مثل هذه المشكلة ولكنه غير مثبت على الخادم السحابي.
حاولت telnet discourse.domain.de 443 لمعرفة ما إذا كانت المنافذ مفتوحة وحصلت على
telnet: غير قادر على الاتصال بالمضيف البعيد: الشبكة غير متاحة
هل لدى أي شخص فكرة عن كيفية إصلاح هذه المشكلة؟
شكرا لك!
للأسف، يحب مرسلو البريد العشوائي والمحتالون استخدام مزودي خدمة الاستضافة السحابية. ونحن في Hetzner نريد بالطبع منع ذلك. لهذا السبب، نقوم بحظر المنفذين 25 و 465 افتراضيًا على جميع الخوادم السحابية. هذه ممارسة شائعة جدًا في صناعة الاستضافة السحابية لأنها تمنع الإساءة. نريد بناء الثقة مع عملائنا الجدد قبل أن نفتح هذه المنافذ البريدية. بمجرد أن تكون معنا لمدة شهر وتدفع فاتورتك الأولى، يمكنك إنشاء طلب حد لفتح هذه المنافذ لحالة استخدام صالحة. في طلبك، يمكنك إخبارنا بتفاصيل حول حالة استخدامك. نحن نتخذ القرارات على أساس كل حالة على حدة.
كبديل، يمكنك أيضًا استخدام المنفذ 587 لإرسال رسائل البريد الإلكتروني عبر خدمات توصيل البريد الخارجية. المنفذ 587 غير محظور ويمكن استخدامه دون إرسال طلب حد.
ما زلت مرتبكًا، ولكن يجب إعداد جدار حماية DigitalOcean. التثبيت النظيف لا يفتح أي منافذ (باستثناء SSH ولكن هذا شيء مختلف). لا أعرف كيف تعمل Hetzner. وإذا كان الخادم الافتراضي الخاص (VPS) خلف منافذ مغلقة، فلا يهم ما لدينا في app.yml.
أعتقد ذلك. عندما أبدأ تشغيل VPS (Ubuntu 20)، لا يتم تثبيت nginx افتراضيًا: يقوم discourse-setup بتثبيته.
لقد قمت بتثبيت Discourse عدة مرات على Hetzner VPS دون أي مشكلة لسنوات (كانت آخر مرة في فبراير).
لهذا السبب أنا في حيرة من أمري بشأن هذا الموضوع.
تعديل: لبعض الأسباب اختلط الأمر في دماغي بين docker و nginx
هناك خياران: استخدام جدار حماية بواسطة Digital Ocean أو تثبيت UFW (أو ما شابه) بعد إنشاء VPS. لا تستخدم أي من تثبيتاتي جدار الحماية الخاص بهم، لذا فإن جميع المنافذ مغلقة حتى أقوم بفتحها من UFW.
على أي حال - الآن أنا/نحن نعرف متى وأين وكيف تم تثبيت Nginx. كل يوم شيء جديد (عندما لا تفهم أنت/أنا/شخص ما كيف يعمل Docker :ابتسامة:).