nginx cannot load certificate fullchain.pem – Certbot Korjata

virhe nginx cannot load certificate path/fullchain.pem tulee näkyviin, kun testaamme NGINX-palvelua varmenteiden poistamisen jälkeen Let’s Encrypt luotu kanssa Certbot.

Palvelimessa virhe näyttää tältä:

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

Taustalla oleva nginx-virhe

Edellisessä artikkelissa näytin, kuinka voit poistaa Certbot verkkotunnukset, joita isännöi palvelimella aiemmin, mutta jotka eivät ole enää aktiivisia. Poista vanhat verkkotunnukset Certbot certificates (Salataan varmenne).

Kun poistat varmenteita SSL aktiivisille verkkotunnuksille, joita edelleen isännöidään palvelimella, komennolla: sudo certbot delete, varmenne poistetaan automaattisesti, mutta se pysyy aktiivisena istunnoissa, kunnes palvelu käynnistetään uudelleen nginx. Nginx -t -komennolla (palvelun testaaminen) saatat yllättyä, että testi epäonnistuu yllä olevan virheen vuoksi. Ratkaisu on kuitenkin hyvin yksinkertainen.

nginx cannot load certificate
nginx cannot load certificate

Korjattu nginx: [emerg] ei voi ladata varmennetta fullchain.pem

Kun asennat varmenteen SSL Let’s Encrypt mukaan Certbot, verkkotunnuksen nginx-määritystiedostoon on lisätty muutama rivi, jotka osoittavat varmenteen olemassaolon. Kun varmenne poistetaan, rivit pysyvät nginx-konfiguraatiossa ja ne on poistettava manuaalisesti. Eli alla olevat rivit:

.....    

    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

Kun olet poistanut nämä rivit sen toimialueen nginx-confg-tiedostosta, jonka varmenteen poistit SSL, suorita komento nginx -t tarkistaaksesi onko kaikki kunnossa.

[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]# 

Nyt voit turvallisesti käynnistää palvelun uudelleen nginx.

Teknologiasta kiinnostunut, kirjoitan mielelläni StealthSettings.com-sivustolla vuodesta 2006. Minulla on laaja kokemus käyttöjärjestelmistä: macOS, Windows ja Linux, sekä ohjelmointikielistä ja blogialustoista (WordPress) ja verkkokaupoista (WooCommerce, Magento, PrestaShop).

Miten » Web-Hotellit » nginx cannot load certificate fullchain.pem – Certbot Korjata
Jätä kommentti