PEM_read_bio_X509_AUX() فشل (SSL: خطأ: 0909006C: PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

لقد حاولت إعداد منتدى باستخدام Discourse على نظام Ubuntu 20.04 LTS على خادم VPS. لكن بعد التثبيت، حصلت على الرسالة التالية:

nginx: [emerg] cannot load certificate "/shared/ssl/domain.org.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
nginx: configuration file /etc/nginx/nginx.conf test fail

نطاقي هو:

لقد نفذت الأمر التالي:

sudo nginx -t

وأنتج هذا المخرجات:

nginx: [emerg] cannot load certificate "/shared/ssl/domain.org.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

nginx: configuration file /etc/nginx/nginx.conf test fail

خادم الويب الخاص بي هو (بما في ذلك الإصدار):

nginx version: nginx/1.18.0

هل يجب أن أنشئ شهادة؟ يظهر هذا بعد استنساخ أحدث مستودع من GitHub. هل هذا السلوك مرغوب فيه؟

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

إذن، هل الأسبوع (7 أيام) هو الوقت الذي يجب أن أنتظره لإعادة إعداد كل شيء مرة أخرى؟

هذا أفضل تخمين لدي بناءً على ما وصفته.

حسناً، دعنا ننتظر. سأقوم بالنشر لاحقاً إذا نجح الأمر.

للتوضيح، واجهتُ نفس المشكلة، والسبب كان أنني نسيت إعادة توجيه المنفذ 80 إلى الخادم.

قد يقوم فحص DNS الذي تجريه discourse-server.sh على المنفذ 443 فقط، وبالتالي لم يكتشف المشكلة.

لكن Let’s Encrypt يتطلب أيضًا أن يكون المنفذ 80 مفتوحًا.