nginx kan ikke laste sertifikat fullchain.pem – CertBot Fix
feil nginx cannot load certificate path/fullchain.pem vises når vi tester NGINX-tjenesten etter å ha slettet sertifikater Let’s Encrypt generert med Certbot.
Innhold
På serveren ser feilen slik ut:
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
Bakgrunn eroare nginx
I en tidligere artikkel viste jeg hvordan du kan slette fra Certbot domenene som var vert på serveren tidligere, men som for øyeblikket ikke lenger er aktive. Slett gamle domener Certbot Certificate (Let’s Encrypt Certificate).
Når du sletter SSL-sertifikater for aktive domener, som fortsatt ligger på serveren, med kommando: sudo certbot delete, slettes sertifikatet automatisk, men det forblir aktivt i økter til tjenesten startes på nytt nginx. Med kommandoen nginx -t (testing av tjenesten) kan du bli overrasket over at testen mislykkes med feilen ovenfor. Løsningen er imidlertid veldig enkel.

Fiks nginx: [emerg] kan ikke laste sertifikatet fullchain.pem
Når du installerer et SSL-sertifikat Let’s Encrypt gjennom Certbot, i konfigurasjonsfilen til nginx for domenet, legges det til noen få linjer som indikerer eksistensen av sertifikatet. Når sertifikatet slettes, forblir linjene i nginx-konfigurasjonen og må slettes manuelt. Det vil si linjene nedenfor:
.....
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
Etter å ha slettet disse linjene fra nginx confg-filen til domenet du fjernet SSL-sertifikatet for, kjør kommandoen nginx -t for å sjekke om alt er ok.
- Slett gamle domener Certbot Certificate (Let’s Encrypt Certificate)
- Hvordan installere SSL -sertifisert manuelt for nettsted uten cPanel / VESTACP [Ningx]
- Sertifikat TLS / SSL – En ny holdbarhetsgrense innført fra september 2020
- WP Super Cache vs. W3 Total Cache (WordPress Side Load Speed)
- Hvordan flytte en WordPress-blogg eller nettsted fra HTTP til HTTPS (NGINX)
[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å kan du trygt starte tjenesten på nytt nginx.
nginx kan ikke laste sertifikat fullchain.pem – CertBot Fix
Hva er nytt
Om Stealth
Lidenskapelig opptatt av teknologi, skriver jeg med glede på StealthSettings.com siden 2006. Jeg har rik erfaring innen operativsystemer: macOS, Windows og Linux, men også innen programmeringsspråk og plattformer for blogging (WordPress) og for nettbutikker (WooCommerce, Magento, PrestaShop).
Se alle innlegg av StealthDu kan også være interessert i...