nginx cannot load certificate fullchain.pem – Certbot Fix

feilen nginx cannot load certificate path/fullchain.pem vises når vi tester NGINX-tjenesten etter å ha slettet sertifikater Let’s Encrypt generert med Certbot.

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

Nginx-feil i bakgrunnen

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 certificates (La oss kryptere sertifikatet).

Når du sletter sertifikater SSL for aktive domener, som fortsatt er vert på serveren, ved 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.

nginx cannot load certificate
nginx cannot load certificate

Fikset nginx: [emerg] kan ikke laste sertifikatet fullchain.pem

Når du installerer et sertifikat SSL Let’s Encrypt av 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 sertifikatet for SSL, utfør kommandoen nginx -t for å sjekke om alt er 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]# 

Nå kan du trygt starte tjenesten på nytt nginx.

Teknologiinteressert, jeg skriver med glede på StealthSettings.com siden 2006. Jeg har bred erfaring med operativsystemer: macOS, Windows og Linux, samt programmeringsspråk og bloggplattformer (WordPress) og for nettbutikker (WooCommerce, Magento, PrestaShop).

Hvordan » Webhotell » nginx cannot load certificate fullchain.pem – Certbot Fix
Legg igjen en kommentar