nginx cannot load certificate fullchain.pem – Certbot Määrama

Viga nginx cannot load certificate path/fullchain.pem kuvatakse, kui testime teenust NGINX pärast sertifikaatide kustutamist Let’s Encrypt koos loodud Certbot.

Serveris kuvatakse viga järgmiselt:

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

Taustal nginxi viga

Eelmises artiklis näitasin, kuidas saate kustutada Certbot domeenid, mida serveris varem majutati, kuid mis pole praegu enam aktiivsed. Kustutage vanad domeenid Certbot certificates (Krüpteerime sertifikaadi).

Kui kustutate sertifikaadid SSL aktiivsete domeenide jaoks, mis on endiselt serveris hostitud, käsuga: sudo certbot delete, kustutatakse sertifikaat automaatselt, kuid see jääb seansside ajal aktiivseks kuni teenuse taaskäivitamiseni nginx. Käsuga nginx -t (teenuse testimine) võite olla üllatunud, et test ebaõnnestub ülaltoodud vea tõttu. Lahendus on aga väga lihtne.

nginx cannot load certificate
nginx cannot load certificate

Parandatud nginx: [emerg] ei saa laadida sertifikaati fullchain.pem

Kui installite sertifikaadi SSL Let’s Encrypt poolt Certbot, domeeni nginxi konfiguratsioonifaili on lisatud paar rida, mis näitavad sertifikaadi olemasolu. Sertifikaadi kustutamisel jäävad read nginxi konfiguratsiooni ja need tuleb käsitsi kustutada. See tähendab, et järgmised read:

.....    

    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

Pärast nende ridade kustutamist selle domeeni nginxi konfiguratsioonifailist, mille sertifikaadi eemaldasite SSL, täitke käsk nginx -t et kontrollida, kas kõik on korras.

[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]# 

Nüüd saate teenuse turvaliselt taaskäivitada nginx.

Tehnoloogiafännina olen alates 2006. aastast rõõmuga kirjutanud lehel StealthSettings.com. Mul on laialdased kogemused operatsioonisüsteemides: macOS, Windows ja Linux, samuti programmeerimiskeeltes ja blogiplatvormides (WordPress) ning veebipoodide ja platvormidega (WooCommerce, Magento, PrestaShop).

kuidas » Web Hosting » nginx cannot load certificate fullchain.pem – Certbot Määrama
Jäta kommentaar