nginx cannot load certificate fullchain.pem - Certbot حل

الخطأ nginx cannot load certificate path/fullchain.pem يظهر عندما نختبر خدمة NGINX بعد حذف الشهادات Let’s Encrypt ولدت مع Certbot.

يظهر الخطأ في الخادم على النحو التالي:

nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/example.com/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live/example.com/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /etc/nginx/nginx.conf test failed

خطأ nginx في الخلفية

في مقال سابق ، أوضحت كيف يمكنك الحذف من Certbot المجالات التي تمت استضافتها على الخادم في الماضي ولكنها لم تعد نشطة حاليًا. احذف المجالات القديمة Certbot certificates (دعونا نشفر الشهادة).

عند حذف الشهادات SSL للمجالات النشطة ، التي لا تزال مستضافة على الخادم ، عن طريق الأمر: sudo certbot delete، يتم حذف الشهادة تلقائيًا ، لكنها تظل نشطة في الجلسات حتى يتم إعادة تشغيل الخدمة nginx. باستخدام الأمر nginx -t (اختبار الخدمة) ، قد تندهش من فشل الاختبار مع الخطأ أعلاه. ومع ذلك ، فإن الحل بسيط للغاية.

nginx cannot load certificate
nginx cannot load certificate

تم إصلاح nginx: لا يمكن لـ [EMROUND] تحميل الشهادة fullchain.pem

عند تثبيت شهادة SSL Let’s Encrypt بواسطة Certbotفي ملف تكوين nginx للمجال ، تمت إضافة بضعة أسطر تشير إلى وجود الشهادة. عند حذف الشهادة ، تظل الأسطر في تكوين nginx ويجب حذفها يدويًا. وهذا هو ، الأسطر أدناه:

.....    

    listen 443 ssl http2; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = www.example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    server_name example.com www.example.com;
    listen 80;
    return 404; # managed by Certbot

بعد حذف هذه الأسطر من ملف nginx confg للمجال الذي قمت بإزالة الشهادة منه SSLقم بتنفيذ الأمر nginx -t للتحقق مما إذا كان كل شيء على ما يرام.

[root@server]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@server]# 

الآن يمكنك إعادة تشغيل الخدمة بأمان nginx.

شغوفة بالتكنولوجيا ، أكتب بسرور StealthSettings.com منذ عام 2006. لدي خبرة واسعة في أنظمة التشغيل: macOS, Windows سي Linuxبل أيضًا في لغات البرمجة ومنصات التدوين (WordPress) وللمتاجر عبر الإنترنت (WooCommerce، ماجنتو، بريستاشوب).

كيف » استضافة المواقع » nginx cannot load certificate fullchain.pem - Certbot حل
اترك تعليق