المنفذ 443 غير متاح باستخدام اسم المضيف والمنفذ 80 يفشل أيضًا

مرحباً، هذه هي المرة الأولى التي أحاول فيها استضافة Discourse بنفسي. لقد اتبعت دليل التثبيت الرسمي على GitHub عن طريق تشغيل wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/main/install-discourse | sudo bash. سار كل شيء على ما يرام حتى وصلت إلى مرحلة الاتصال بالنطاق الفرعي. بعد إكمال التحقق، أستمر في الحصول على نفس الأخطاء: “لا يبدو أن المنفذ 443 لهذا الكمبيوتر متاح باستخدام اسم المضيف: [Discourse Subdomain]” و “فشل الاتصال بـ [Discourse Subdomain] المنفذ 80)”.

في البداية، لم يكن ملف app.yml موجودًا على الإطلاق، لذا بحثت عبر الإنترنت وأصلحت ذلك. قمت بتغيير المنفذ إلى 81 وقمت أيضًا بتغيير 443 وحاولت مرة أخرى، ونفس الخطأ كما لو أنني لم أغير المنفذ على الإطلاق.

تحققت أيضًا مما إذا كان raspap قد يسبب مشاكل ورأيت أنه كان يستخدم المنفذ 80. قمت بتغييره إلى 81 ولا يزال نفس الخطأ.

ما الذي أفعله بشكل خاطئ؟ هل هذا بسبب أنني أستخدم جهاز Raspberry Pi 5؟ هل من المفترض أن أفتح منافذ في إعدادات جهاز التوجيه الخاص بي؟ أنا تائه وأعتذر إذا كان هذا سؤال مبتدئ، فمن المحتمل أن يكون ذلك لأنني مبتدئ في هذا الأمر.

هممم… هل تتابع:

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

لقد تمكنت من إصلاح الخطأ في المنفذ 80 ولكنني ما زلت لا أستطيع معرفة سبب عدم عمل المنفذ 443. لست متأكدًا مما إذا كان raspap لا يزال يستخدمه، ولكن لا أعتقد أنه يمكنني تغييره.

بعد أن استغرق الأمر وقتًا طويلاً لفهم أمر نفق Cloudflare، تمكنت أخيرًا من جعله يتصل دون أي أخطاء في المنفذ 80 و 433 باتباع هذا الدليل: Install Discourse on a residential internet with Cloudflare Tunnel

ثم كان هناك عد تنازلي لمدة 5 ثوانٍ وبدأ في القيام بعمله حتى توقف. اعتقدت ربما أنني انتهيت هنا فقمت بزيارة النطاق ولكن يقول إنه لا يستجيب. كما أن localhost لا يعرض أي شيء على الإطلاق. هل أبدأ تشغيله بالطريقة الخاطئة؟ لم أقم بتغيير أي إعدادات وحتى قمت بإلغاء تثبيت وإعادة تثبيت كل شيء دون جدوى. كما أن إعادة البناء تتوقف فقط و doctor discourse يقول إن تطبيق حاوية Discourse قيد التشغيل. فكيف يمكنني الوصول إليه على شبكتي المحلية لمعرفة ما إذا كان يعمل على أجهزة أخرى؟

يمكنك محاولة استخدام cURL على عنوان IP الخاص بالـ raspberry لترى ما إذا كان يستجيب.

يمكنك أيضًا التحقق من حالة النفق (tunnel health) في لوحة تحكم Cloudflare.

4 إعجابات

أواجه الخطأ التالي: curl: (7) فشل الاتصال بـ (IP هنا) المنفذ 80 بعد 0 مللي ثانية: تعذر الاتصال بالخادم

توضح لوحة تحكم Cloudflare أنها تعمل بشكل سليم.

ما نسيته أن أذكره هو أنني أستضيف أيضًا raspap وهو نقطة اتصال (Hotspot) لجهاز Raspberry ويستضيف أيضًا لوحة تحكم ويب ولكني غيرت المنفذ الخاص به إلى 81.

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

إذًا، من المفترض أن يكون بإمكانك الوصول إلى Discourse من المنفذ 80 لجهازك (PI)، ولكن لا يمكن لـ cURL الوصول إليه من جهازك الآخر؟

هل يمكنك مشاركة ملف app.yml الخاص بك؟

لقد جربت curl على جهاز الـ Pi نفسه. لا يمكنني أيضًا الوصول إلى الموقع على هاتفي، ولكن يمكنني الوصول إلى الموقع الآخر الذي أستضيفه من عنوان IP الخاص بالـ Pi على المنفذ 81

إليك ملف app.yml الخاص بي:

templates:

  - templates/postgres.template.yml

  - templates/redis.template.yml

  - templates/web.template.yml

  - templates/web.ratelimited.template.yml

  - templates/web.ssl.template.yml

  - templates/web.letsencrypt.ssl.template.yml

expose:

  - 80:80

  - 443:443

params:

  db_default_text_search_config: pg_catalog.english

  db_shared_buffers: 4096MB

env:

  LC_ALL: en_US.UTF-8

  LANG: en_US.UTF-8

  LANGUAGE: en_US.UTF-8

  DISCOURSE_HOSTNAME: forum.iambest.net

  DISCOURSE_DEVELOPER_EMAILS: (private email)

  DISCOURSE_SKIP_EMAIL_SETUP: '1'

  UNICORN_WORKERS: 8

volumes:

  - volume:

      host: "/var/discourse/shared/standalone"

      guest: "/shared"

  - volume:

      host: "/var/discourse/shared/standalone/log/var-log"

      guest: "/var/log"

hooks:

  after_code:

    - exec:

        cd: "$home/plugins"

        cmd:

          - git clone https://github.com/discourse/docker_manager.git

run:

  - exec: echo "Beginning of custom commands"

  - exec: echo "End of custom commands"

ألم تتبع الدليل الموجود على Install Discourse on a residential internet with Cloudflare Tunnel على الإطلاق؟

مثل أنك لم تقم بالتعليق على المنافذ والقوالب.

إعجابَين (2)

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

لم أكن متأكدًا أيضًا مما إذا كان يجب عليّ التعليق على المنافذ، لذا حاولت مرة أخرى دون القيام بذلك والآن يعمل… قليلًا لأن هذا لا يبدو صحيحًا

لقد قمت أيضًا بتعطيل شيء صاروخ (Rocket thing) كما قال الدليل. تحدث المشكلة على كل من النطاق وعلى المضيف المحلي (localhost).

يبدو أنها مشكلة في CSS، بالإضافة إلى مشكلة في جدار الحماية (firewall)؟ هل لديك أي قيود على جدار الحماية من مزود خدمة الإنترنت (ISP) الخاص بك؟

لم أقم بإعداد أي قيود على جدار الحماية ولم ألمس ملف CSS أيضًا. جهاز التوجيه (الراوتر) الذي أستخدمه محدود للغاية لذا لا يمكنني تغيير أي إعدادات لجدار الحماية للأسف.

أيضًا، على ما يبدو لا توجد منافذ مقيدة باستثناء المنفذ 25 والمنفذ 455.

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

يبدو أيضًا أنه لا يستخدم HTTPS بل HTTP لسبب ما. كما ذكر الدليل، لقد أجبرت HTTPS في ملف app.yml، لذا لست متأكدًا من سبب عدم قدرتي على الوصول إلى الموقع باستخدام HTTPS بعد ذلك.

@Falco هل يحتاج المرء إلى شهادة LetsEncrypt عند استخدام Cloudflare Tunnels؟ أم أنها تلقائية عبر Cloudflare؟