لقد كنت أحاول تمكين HTTPS لموقعي الإلكتروني متبعًا هذا الدليل الرائع. سار كل شيء على ما يرام حتى حاولت إعادة بناء التطبيق، عن طريق كتابة ./launcher rebuild app.
شغّلت discourse-doctor لمحاولة فهم المشكلة، وفي النهاية عثرت على شيء ما:
==================== END REBUILD LOG ====================
فشل إعادة بناء التطبيق.
التحقق من اسم النطاق الخاص بك . . .
تم الاتصال بنجاح بـ discourse.mydomain.com.
ينبغي عليك على الأرجح إزالة أي إضافات غير قياسية وإعادة البناء.
محاولة إعادة تشغيل الحاوية الحالية . . .
بدء تشغيل الحاوية الحالية
+ /usr/bin/docker start app
استجابة خطأ من الخدمة: فشل السائق في برمجة الاتصال الخارجي للنقطة الطرفية app (some_random_characters): خطأ في بدء وكيل مساحة المستخدم: الاستماع tcp 0.0.0.0:443: ربط: العنوان مستخدم بالفعل
خطأ: فشل في بدء الحاويات: app
فشل إعادة تشغيل الحاوية.
ملاحظة: لقد استبدلت سلسلة طويلة من الأحرف بـ some_random_characters واستبدلت اسم نطاقي بـ discourse.mydomain.com.
هذا غريب جدًا لأنني التزمت بالدليل؛ ولا أعرف كيفية إصلاح المشكلة.
في الواقع، لقد قرأت هذا الدليل، لكنه تعثر عند تنفيذ الأمر wget -qO- https://get.docker.com/ | sh؛ حيث أفاد بـ “استخدام خاطئ لأمر wget” كما أتذكر. لذا قفزت إلى الخطوات التالية، وأتذكر أن Docker تم تثبيته تلقائيًا بعد كتابة الأمر ./discourse-setup.
هذا على الأرجح مشكلتي…
سأعيد تثبيت Discourse من البداية تمامًا ثم سأحدث هذا الموضوع.
لقد شغلت برنامج الإعداد التلقائي discourse-setup وأضفت عنوان بريد إلكتروني لتشفير Let’s Encrypt عند الطلب. والآن يظهر الرسالة التالية:
Checking your domain name . . .
WARNING:: This server does not appear to be accessible at discourse.apertureproject.me:443.
A connection to http://discourse.apertureproject.me (port 80) also fails.
وفقًا لهذا، فإن الخطأ ناتج عن منافذ غير مفتوحة، وأنا لا أملك أي فكرة عن كيفية إصلاح هذا. ولن أطلق موقعي دون تشفير، لذا لن أقوم بتعطيل Let’s Encrypt.
تعديل!
لقد وجدت وثائق المضيف الخاص بي (OVH) حول كيفية فتح المنافذ. لكن مدير عناوين IP الخاص بي فارغ، بينما يجب أن يكون مملوءًا بعدة عناوين IP وفقًا للصور المرفقة في الوثائق.
أعتذر، النص باللغة الفرنسية، ولكن كما ترون، قائمة عناوين IP فارغة تمامًا.