nginx cannot load certificate fullchain.pem – Certbot Fissare

l'errore nginx cannot load certificate path/fullchain.pem appare quando testiamo il servizio NGINX dopo aver eliminato i certificati Let’s Encrypt generato con Certbot.

Nel server, l'errore appare così:

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

Errore nginx in background

In un precedente articolo ho mostrato come è possibile eliminare da Certbot i domini che in passato erano ospitati sul server ma che attualmente non sono più attivi. Elimina i vecchi domini Certbot certificates (Crittografiamo il certificato).

Quando elimini i certificati SSL per i domini attivi, che sono ancora ospitati sul server, da comando: sudo certbot delete, il certificato viene eliminato automaticamente, ma rimane attivo nelle sessioni fino al riavvio del servizio nginx. Con il comando nginx -t (test del servizio) potresti essere sorpreso dal fatto che il test fallisca con l'errore sopra. Tuttavia, la soluzione è molto semplice.

nginx cannot load certificate
nginx cannot load certificate

Fixato nginx: [emerg] non può caricare il certificato fullchain.pem

Quando installi un certificato SSL Let’s Encrypt da Certbot, nel file di configurazione di nginx per il dominio, vengono aggiunte alcune righe che indicano l'esistenza del certificato. Quando il certificato viene eliminato, le righe rimangono nella configurazione di nginx e devono essere eliminate manualmente. Cioè, le righe seguenti:

.....    

    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

Dopo aver eliminato queste righe dal file di configurazione nginx del dominio per il quale hai rimosso il certificato SSL, eseguire il comando nginx -t per verificare se è tutto ok.

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

Ora puoi riavviare in sicurezza il servizio nginx.

Appassionato di tecnologia, scrivo con piacere su StealthSettings.com dal 2006. Ho un'ampia esperienza nei sistemi operativi: macOS, Windows e Linux, nonché nei linguaggi di programmazione e nelle piattaforme di blogging (WordPress) e per i negozi online (WooCommerce, Magento, PrestaShop).

Come » web hosting » nginx cannot load certificate fullchain.pem – Certbot Fissare
Lascia un tuo commento