nginx cannot load certificate fullchain.pem – Certbot Rögzít

a hiba nginx cannot load certificate path/fullchain.pem akkor jelenik meg, amikor a tanúsítványok törlése után teszteljük az NGINX szolgáltatást Let’s Encrypt -val generált Certbot.

A szerveren a hiba így jelenik meg:

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

Háttér nginx hiba

Egy korábbi cikkben megmutattam, hogyan lehet törölni a Certbot azokat a tartományokat, amelyek korábban a szerveren voltak, de jelenleg már nem aktívak. Törölje a régi domaineket Certbot certificates (Titkosítsuk a tanúsítványt).

Amikor törli a tanúsítványokat SSL az aktív tartományokhoz, amelyek továbbra is a szerveren vannak, paranccsal: sudo certbot delete, a tanúsítvány automatikusan törlődik, de aktív marad a munkamenetekben a szolgáltatás újraindításáig nginx. Az nginx -t paranccsal (a szolgáltatás tesztelése) meglepődhet, hogy a teszt a fenti hibával meghiúsul. A megoldás azonban nagyon egyszerű.

nginx cannot load certificate
nginx cannot load certificate

Javítva az nginx: [emerg] nem tudja betölteni a fullchain.pem tanúsítványt

Amikor telepít egy tanúsítványt SSL Let’s Encrypt által Certbot, a tartományhoz tartozó nginx konfigurációs fájljában néhány sor hozzáadva jelzi a tanúsítvány meglétét. A tanúsítvány törlésekor a sorok az nginx konfigurációban maradnak, és manuálisan kell törölni őket. Vagyis az alábbi sorok:

.....    

    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

Miután törölte ezeket a sorokat annak a tartománynak az nginx confg fájljából, amelyhez eltávolította a tanúsítványt SSL, hajtsa végre a parancsot nginx -t ellenőrizni, hogy minden rendben van-e.

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

Most már biztonságosan újraindíthatja a szolgáltatást nginx.

Technológiai rajongóként örömmel írok a StealthSettings.com-on 2006 óta. Széles körű tapasztalatom van operációs rendszerekkel: macOS, Windows és Linux, valamint programozási nyelvekkel és blogolási platformokkal (WordPress) és online áruház platformokkal (WooCommerce, Magento, PrestaShop).

Hogyan » web Hosting » nginx cannot load certificate fullchain.pem – Certbot Rögzít
Írj hozzászólást