Nginx kan ikke indlæse certifikat FullChain.PEM – Certbot fix
fejl nginx cannot load certificate path/fullchain.pem vises, når vi tester NGINX-tjenesten efter sletning af certifikater Let’s Encrypt genereret med Certbot.
tilfreds
På serveren ser fejlen sådan ud:
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
Baggrund eroare nginx
I en tidligere artikel viste jeg, hvordan du fra Certbot kan slette domæner, der tidligere var hostet på serveren, men som i øjeblikket ikke længere er aktive. Slet gamle domæner Certbot -certifikater (lad os kryptere certifikat).
Når du sletter SSL-certifikater for aktive domæner, som stadig er hostet på serveren, ved kommando: sudo certbot delete, slettes certifikatet automatisk, men det forbliver aktivt i sessioner, indtil tjenesten genstartes nginx. Med kommandoen nginx -t (test af tjenesten) kan du blive overrasket over, at testen mislykkes med ovenstående fejl. Løsningen er dog meget enkel.

Ret nginx: [emerg] kan ikke indlæse certifikatet fullchain.pem
Når du installerer et SSL-certifikat Let’s Encrypt gennem Certbot, i konfigurationsfilen for nginx for domænet, tilføjes et par linjer, der angiver eksistensen af certifikatet. Når certifikatet slettes, forbliver linjerne i nginx config og skal slettes manuelt. Det vil sige linjerne 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
Efter at have slettet disse linjer fra nginx confg-filen for det domæne, som du fjernede SSL-certifikatet for, skal du køre kommandoen nginx -t for at tjekke om alt er ok.
- Slet gamle domæner Certbot -certifikater (lad os kryptere certifikat)
- Sådan installeres SSL -certificeret manuelt til webstedet uden cpanel / vestacp [Ningx]
- Certifikat TLS/SSL – En ny holdbarhedsgrænse indført fra september 2020
- WP Super Cache vs. W3 Total Cache (WordPress-sideindlæsningshastighed)
- Sådan flyttes en blog eller WordPress -websted 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]#
Nu kan du trygt genstarte tjenesten nginx.
Nginx kan ikke indlæse certifikat FullChain.PEM – Certbot fix
Hvad er nyt
Om Stealth
Passioneret omkring teknologi, skriver jeg med glæde på StealthSettings.com siden 2006. Jeg har stor erfaring med operativsystemer: macOS, Windows og Linux, samt med programmeringssprog og bloggingplatforme (WordPress) og til webshops (WooCommerce, Magento, PrestaShop).
Se alle indlæg af StealthDu kan også være interesseret i...