nginx cannot load certificate fullchain.pem – Certbot Fast

felet 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

Bakgrunds nginx-fel

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. Ta bort gamla domäner Certbot certificates (Låt oss kryptera certifikat).

När du tar bort certifikat SSL för aktiva domäner, som fortfarande finns på servern, genom 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 cannot load certificate
nginx cannot load certificate

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

När du installerar ett certifikat SSL Let’s Encrypt av 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 certifikatet för SSL, 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.

Brinner för teknik, skriver jag med glädje på StealthSettings.com sedan 2006. Jag har lång erfarenhet av operativsystem: macOS, Windows şi Linux, men också i programmeringsspråk och bloggplattformar (WordPress) och för nätbutiker (WooCommerce, Magento, PrestaShop).

Hur man » Webbhotell » nginx cannot load certificate fullchain.pem – Certbot Fast
Lämna en kommentar