مرحبًا،
بعد تفعيل قوالب Let’s Encrypt وإعادة بناء Discourse، لم يعد أي شيء يعمل:
يُظهر NGINX رسالة خطأ غامضة:
الأمر الغريب هو: لا يوجد مجلد nginx في /ETC
هذه القوالب نشطة:
هذه هي الإعدادات التي تم إعادة بناء التطبيق بها:
ما قد يكون سبب هذه المشاكل؟
أعتقد أن الشهادة يجب أن تُصدر لاسم المضيف: discourse.itas-karlsruhe.de
لقد تحققت بالفعل من خلال launcher ما إذا كان التطبيق يعمل حقًا… نعم، إنه يعمل…
أ.
Benjamin_D
(Benjamin Decotte)
2
يبدو أنك في دليل المنزل الخاص بك (~) عند استخدام الأمر cd etc
يجب أن يعمل الأمر cd /etc/nginx
لا، لقد تحققت منه في الدليل الصحيح:
إذا كانت هذه تثبيت Docker قياسي، فستحتاج أيضًا إلى الدخول إلى التطبيق أولاً.
cd /var/discourse
./launcher enter app
بافتراض نجاح ذلك، يمكنك طباعة السطر 46 من ملف الإعداد باستخدام sed:
sed -n '46p' /etc/nginx/conf.d/discourse.conf
مع نفس القوالب التي لديك وبدون تعديلات محددة على ملف الإعداد هذا، أرى ما يلي:
return 301 https://discourse.softpress.com$request_uri;
شكرًا لك.
لقد وجدت ما يلي:

كما ترون، حقل “اسم المضيف الخاص بـ Discourse” مملوء في ملف app.yml:
يبدو أنه يفشل في استبدال اسم المضيف لسبب ما، لكنني لست متأكدًا من السبب. عندما أعيدت بناء Discourse، هل قمت بذلك بتشغيل هذه الأوامر؟
cd /var/discourse
./launcher rebuild app
الفرق الوحيد الذي أستطيع رؤيته بين ما لديك وما لدي هو استخدام شرطة في اسم النطاق، لكنني سأكون مندهشًا للغاية إذا كان ذلك سيسبب مشكلة.
نعم، هذا هو كيف أعيدت بناء التطبيق …
بعد إعادة البناء يبدو أن كل شيء يعمل:
pfaffman
(Jay Pfaffman)
8
إذا قمت بإعادة البناء عدة مرات، فقد وصلت إلى حدود معدل Let’s Encrypt.
لا يوجد nginx على الخادم، بل هو داخل حاوية discourse. وهذا هو السبب في أنك لا تستطيع العثور عليه.
إذن، هل حللت مشكلتك عن طريق إعادة البناء؟
يجب عليك تحديد ذلك المنشور كحل.
لقد قصدت ببساطة أنني لم أجد أي خطأ أو ما شابه ذلك في السجل. (انظر لقطة الشاشة)
يبدو أن عملية البناء على ما يرام…
لقد طلبت الآن النطاق النهائي. سأقوم بإعادة بناء التطبيق باستخدامه.
بعد إزالة جميع إعدادات lets encrypt المحددة واستخدام اسم المضيف الأصلي للآلة الافتراضية، يعمل كل شيء بشكل صحيح. لا أعرف ما الخطأ في هذه الإعدادات.
مرحبًا سيمون،
لقد أعيدت بنائه مرة أخرى، ولاحظت أن الشهادة تم إصدارها بالاسم الخاطئ:
هل من الممكن أن يكون ملف app.yml مُعدًا بطريقة خاطئة؟
app.txt (4.1 كيلو بايت)
ماذا تقصد؟
أنا
IAmGav
(Gavin Perch)
11
السطر 51
DISCOURSE_HOSTNAME: deinbalkonnetz.de
هذا ليس ملف الإعدادات الخاص بك. من أين حصلت عليه؟
هل هذا صحيح؟
إنه ملف الإعدادات الخاص بي… لقد قمنا بتوجيه هذا النطاق إلى جهازنا الظاهري (VM) وأنا أحاول إعداد Discourse على هذا الخادم…
IAmGav
(Gavin Perch)
13
ثم في كل مكان في الإعدادات حيث يظهر deinbalkonnetz.de، يجب عليك تغييره.
بعد ذلك، يجب عليك إعادة بناء التطبيق
شكرًا لك يا جامي،
هذه نقاط مهمة، بلا شك.
المشكلة هي أن اسم المضيف الخاص بي غير مستخدم على الإطلاق
DISCOURSE_HOSTNAME: ‘deinbalkonnetz.de’
أعتقد أنه بدلاً من اسم المتغير، يجب استخدام اسم المضيف الفعلي “deinbalkonnetz.de” في الشهادة.
هل يمكنك إضافة http://deinbalkonnetz.de/ كاسم نطاق ثانٍ إلى شهادة letsencrypt كحل بديل؟