nginx cannot load certificate fullchain.pem – Certbot Bepalen

de fout nginx cannot load certificate path/fullchain.pem verschijnt wanneer we de NGINX-service testen na het verwijderen van certificaten Let’s Encrypt gegenereerd met Certbot.

Op de server verschijnt de fout als volgt:

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

Achtergrond nginx-fout

In een vorig artikel heb ik laten zien hoe je kunt verwijderen uit Certbot de domeinen die in het verleden op de server werden gehost maar momenteel niet meer actief zijn. Oude domeinen verwijderen Certbot certificates (Laten we het certificaat versleutelen).

Wanneer u certificaten verwijdert SSL voor actieve domeinen, die nog steeds op de server worden gehost, op commando: sudo certbot delete, wordt het certificaat automatisch verwijderd, maar blijft het actief in sessies totdat de service opnieuw wordt gestart nginx. Met de opdracht nginx -t (testen van de service) zult u misschien verbaasd zijn dat de test mislukt met de bovenstaande fout. De oplossing is echter heel eenvoudig.

nginx cannot load certificate
nginx cannot load certificate

Fixed nginx: [emerg] kan certificaat fullchain.pem niet laden

Wanneer u een certificaat installeert SSL Let’s Encrypt door Certbot, in het configuratiebestand van nginx voor het domein worden enkele regels toegevoegd die het bestaan ​​van het certificaat aangeven. Wanneer het certificaat wordt verwijderd, blijven de regels in nginx-configuratie en moeten ze handmatig worden verwijderd. Dat wil zeggen de onderstaande regels:

.....    

    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

Na het verwijderen van deze regels uit het nginx confg-bestand van het domein waarvoor u het certificaat hebt verwijderd SSL, voer de opdracht uit nginx -t om te controleren of alles in orde is.

[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 kunt u de service veilig opnieuw opstarten nginx.

Gepassioneerd door technologie, schrijf ik met plezier op StealthSettings.com sinds 2006. Ik heb ruime ervaring met besturingssystemen: macOS, Windows en Linux, evenals met programmeertalen en blogplatformen (WordPress) en voor online winkels (WooCommerce, Magento, PrestaShop).

Hoe werkt het? » web Hosting » nginx cannot load certificate fullchain.pem – Certbot Bepalen
Laat een bericht achter