فشل تعطيل letsencrypt وتشغيل discourse-setup ظهرت به تنبيهات غير طبيعية

أحاول إعادة تكوين شهادة SSL، وأرغب في تعطيل شهادة Let’s Encrypt المجانية.
نظرًا لأنني اشتريت شهادة، فقد وجدت بعض العمليات عبر Google.

عدّلت ملف app.yml مباشرة وتأكدت من أن المفتاح key والشهادة cer في المسار /var/discourse/shared/standalone/ssl/ متسقة مع ملف التكوين، ثم قمت بإعادة البناء، لكن النتيجة فشلت ولا تزال تستخدم شهادة Let’s Encrypt.

يحتوي nginx على سجل أخطاء كما يلي:


2021/09/25 16:37:26 [emerg] 48#48: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:27 [emerg] 78#78: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:28 [emerg] 80#80: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:29 [emerg] 82#82: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:30 [emerg] 95#95: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:31 [emerg] 104#104: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:32 [emerg] 106#106: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

لقد تأكدت من وجود الملف في الدليل:

root@discourse-test:/var/discourse/shared/standalone/ssl# ls -al ssl.*
-rw-r--r-- 1 root root 7868 Sep 25 16:24 ssl.cer
-rw------- 1 root root 1675 Sep 25 16:24 ssl.key

ووجدت بعض المناقشات في الرابط التالي:

إزالة Let’s Encrypt من خيار التثبيت

عند تشغيل ./discourse-setup، تظهر لي رسالة تنبيه:

./discourse-setup: line 471: [: 1234567890123456: binary operator expected

هل لديك أي اقتراحات لتعطيل Let’s Encrypt أو حل مشكلة إعادة التكوين؟

إعجابَين (2)

هناك بعض المواضيع حول كيفية استخدام شهادتك الخاصة. يمكنك محاولة البحث، لكن هذا الأمر متخصص إعداد متقدم فقط: السماح بـ SSL / HTTPS لإعداد Docker الخاص بـ Discourse

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

مرحبًا pfaffman

شكرًا لك على ردك.
بالنسبة للمعلومات التي زودتني بها، لدي بالفعل مرجع وتجربة.
لكن النتيجة فشلت، حيث لا يستطيع خدمة nginx قراءة الملف.

رسالة الخطأ هي الوصف أعلاه:

2021/09/25 16:37:26 [emerg] 48#48: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:27 [emerg] 78#78: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:28 [emerg] 80#80: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:29 [emerg] 82#82: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:30 [emerg] 95#95: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:31 [emerg] 104#104: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:32 [emerg] 106#106: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
إعجاب واحد (1)

نجحت في تغيير الشهادة لاستخدام شهادتي الخاصة.

لقد استمريت في استخدام اسم ملف بيانات الاعتماد الخاطئ؛ فإعدادات nginx تتطلب ملفًا بامتداد crt، لكنني كنت أقوم بتثبيت واختبار ملف بامتداد cer.
لذلك، تم حل مشكلة SSL.

شكرًا لك

3 إعجابات

ما لفت الانتباه في أول منشوركما هو

لا يمكن تحميل الشهادة "/shared/ssl/ssl.crt"

و
هل تم تأكيد وجود الملف في الدليل

root@discourse-test:/var/discourse/shared/standalone/ssl# ls -al ssl.*

لاحظ الفرق بعد الجزء /shared/ في المسارات. كان Nginx يتوقع أن يكون ملف ssl.crt في مجلد shared/ssl/. بينما وجدته في shared/standalone/. لم يكن الملف موجودًا في المسار الذي كان Nginx يبحث فيه عنه.

@JimPas شكراً لك على ردك.
أقدم معلومات بأن المسار غير متطابق، لأن أحد المسارات هو مسار حجم Docker والآخر هو مسار ملف الخادم الفعلي.

الإعداد المتقدم فقط: تمكين SSL / HTTPS لإعداد Docker الخاص بـ Discourse

volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared

يبدو غير متطابق، لكنه في الواقع نفس الشيء.
لقد تم حل المشكلة الأولى.
السبب الجذري بالنسبة لي هو أنني لم ألاحظ تنسيق الشهادة.
الإعدادات في الملف تستخدم تنسيق crt، لكنني كنت أستخدم دائماً ملفات بتنسيق cer، لذا لم يتمكن nginx من قراءة ملف الشهادة بنجاح.

إعجابَين (2)

:man_facepalming:
لم ألاحظ ذلك من قبل. حسنًا، ليعاقبني على تقصيري!
سعيد لأنك أدركت الأمر وقمت بإصلاحه. :+1:

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

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.