إعداد Discourse على aws ec2 لا يعمل مع DNS IPv4 الافتراضي

مرحبًا بمجتمع Discourse،

أنا جديد على Discourse وأقوم فقط باختبار إعداده على مثيل AWS EC2 بناءً على الإرشادات الواردة في discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub. ومع ذلك، لم أتمكن من تشغيله. إليك المشكلة التي أواجهها:

قبل شراء جميع الموارد، أردت تجربة الموقع دون استخدام اسم نطاق، لذا استخدمت عنوان DNS IPv4 العام لتلك المثيلة كاسم مستضيف لـ Discourse وللدخول إلى الموقع، مثل: https://ec2_ip_address.us-west-1.compute.amazonaws.com/.
فتحت المنفذ 80 والمنفذ 443 على المثيلة عبر مجموعة الأمان، وتأكدت من إمكانية الوصول إلى هذه المنافذ من الشبكة العامة (تم الاختبار باستخدام خادم Python البسيط).
ولكنني أحصل على رسالة “لا يمكن الوصول إلى هذا الموقع” في المتصفح بعد تشغيل خادم Discourse باستخدام ./discourse-setup أو ./launcher rebuild app.

جربت أداة Discourse Doctor، وأظهرت النتائج التالية:

Discourse version at ec2-ip_address.us-west-1.compute.amazonaws.com: NOT FOUND  
Discourse version at localhost NOT FOUND  

لست متأكدًا بنسبة 100% مما إذا كان إعداد البريد الإلكتروني يعمل، لكنني أفترض أن مشكلة إمكانية الوصول إلى الموقع منفصلة عن مشكلة البريد الإلكتروني.

هل يمكن لأي شخص أن يوضح لي ما الذي ينقص أو كيف يمكنني تصحيح هذه المشكلة؟

شكرًا جزيلاً!

3 إعجابات

مرحبًا بك في مجتمع ميتا ديسكورس :slightly_smiling_face:

قد لا يكون له علاقة، لكنني ألاحظ عدم اتساق هنا:

إعجابَين (2)

مرحبًا جوناثان،

شكرًا لك على التحقق. لقد أزلت عنوان IP هنا، ويجب أن يكون الرابط صحيحًا.

3 إعجابات

حالة Not found (غير موجود) على اسم النطاق الخاص بك ترجح بشكل كبير إلى أن الموقع غير نشط بعد. ستحتاج إلى مشاركة المزيد من سجلات discourse-doctor.

هل اكتمل إعادة البناء/التهيئة (bootstrap) بنجاح؟

إذا كانت مثيل EC2 ضعيفة الموارد، فقد يستغرق discourse بعض الوقت (حوالي 3-5 دقائق في بعض الحالات).

ما يجب عليك التركيز عليه هو: إذا اكتمل البناء بنجاح، فاستخدم الأمر docker ps للتحقق من أن الحاوية تعمل وتستمع على المنافذ 80 و 443. بمجرد التحقق من ذلك، تكون المشكلة في مجموعة أمان AWS وليس في عملية التثبيت نفسها.

3 إعجابات

هل يمكنك التحقق من إمكانية الوصول إلى الخادم عبر اسم المضيف؟

إعجابَين (2)

حالة Not found على اسم النطاق الخاص بك ترجح أن الموقع غير نشط بعد. ستحتاج إلى مشاركة المزيد من سجل discourse-doctor.

أتفق معك. سأنتبه لسجل البناء وأرى ما إذا كان هناك خطأ. كيف يمكنني تصحيح الأخطاء إذا وُجد خطأ في السجل؟

هل يمكنك التحقق من إمكانية الوصول إلى الخادم عبر اسم النطاق؟

نعم، قمت بالتحقق من اسم النطاق، ويمكن الوصول إلى المنافذ عبر المتصفح، وهما 80 و443. لقد أنشأت خادم HTTP بلغة بايثون يقدم بعض الملفات ببساطة، ويمكنني رؤية الاستجابة في المتصفح.

إعجابَين (2)

هل ترى أي شيء في السجلات؟ شيء مثل

/var/discourse/shared/standalone/logs/var-log/nginx/error.log

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

إعجابَين (2)

مضحك أنك ذكرت ذلك. :slightly_smiling_face: هذا ما جذبني في البداية إلى هذا الموضوع. أساعد الكثير من الأشخاص في https://community.letsencrypt.org وفكرت أن هذا الموضوع قد يكون ضمن نطاق خبرتي للمساعدة. لتطبيق أي من أدواتي، أحتاج إلى معرفة أسماء النطاقات الحقيقية.

إعجابَين (2)

@ys2843

  • هل يمكنك تحديث ما حدث لاحقًا؟ لقد علقت في نفس المشكلة بالضبط.
إعجاب واحد (1)

هل تحاول استخدام اسم نطاق من AWS؟ لا تفعل ذلك. استخدم نطاقك الخاص.

هل راجعت السجلات؟

إذا قمت بعدة عمليات إعادة بناء، فستصل أيضًا إلى حدود معدل Let’s Encrypt.

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

@pfaffman

الخلفية: إعداد منتدى Discourse بسيط كدليل على المفهوم على AWS، مع محاولة تقليل التكلفة

يمكنك تسجيل اسم نطاق مقابل 3 دولارات في Godaddy. إذا كانت قيمتك الزمنية تزيد عن 3 دولارات في الساعة، فيجب أن تسجل نطاقًا. وإذا لم تكن تملك 3 دولارات لتسجيل نطاق، فهذا يعني أنك لا تستطيع تحمل تكاليف خدمة EC2 أيضًا.

إعجابَين (2)

@pfaffman

  • أتفق معك من منظور قضية التسعير.
  • من الناحية التقنية، هل هناك أي حل بديل؟

بالتأكيد! راجع أي شخص آخر يستخدم اسم نطاق .amazonaws.com ويستخدم Let’s Encrypt، ثم انتظر أسبوعًا. إذا لم ترغب في تسجيل نطاق، فستكون هذه هي الخطوة التالية التي أنصحك بتجربتها.