nginx kan inte ladda certifikat fullchain.pem – CertBot Fix

fel nginx cannot load certificate path/fullchain.pem visas när vi testar NGINX-tjänsten efter att ha tagit bort certifikat Let’s Encrypt genereras med Certbot.

På servern ser felet ut så här:

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

Bakgrund eroare nginx

I en tidigare artikel visade jag hur du kan ta bort från Certbot de domäner som tidigare fanns på servern men som för närvarande inte längre är aktiva. Radera gamla domäner certifikatcertifikat (låt oss kryptera certifikat).

När du tar bort SSL-certifikat för aktiva domäner, som fortfarande finns på servern, med kommando: sudo certbot delete, certifikatet raderas automatiskt, men det förblir aktivt i sessioner tills tjänsten startas om nginx. Med kommandot nginx -t (testa tjänsten) kan du bli förvånad över att testet misslyckas med ovanstående fel. Lösningen är dock väldigt enkel.

nginx kan inte ladda certifikat
nginx kan inte ladda certifikat

Fixa nginx: [emerg] kan inte ladda certifikatet fullchain.pem

När du installerar ett SSL-certifikat Let’s Encrypt genom Certbot, i konfigurationsfilen för nginx för domänen, läggs några rader till som indikerar att certifikatet finns. När certifikatet raderas förblir raderna i nginx-konfigurationen och måste tas bort manuellt. Det vill säga raderna nedan:

.....    

    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

Efter att ha tagit bort dessa rader från nginx confg-filen för domänen som du tog bort SSL-certifikatet för, kör kommandot nginx -t för att kolla om allt är 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]# 

Nu kan du säkert starta om tjänsten nginx.

Passionerad om teknik, skriver jag med nöje på stealthsetts.com med början med 2006. Jag har en rik upplevelse av operativsystem: macOS, Windows och Linux, men också på programmeringsspråk och bloggplattformar (WordPress) och för onlinebutiker (WooCommerce, Magento, Presashop).

Hem Din källa till IT -tutorials, användbara tips och nyheter. nginx kan inte ladda certifikat fullchain.pem – CertBot Fix
Lämna en kommentar