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.

Ez a bejegyzés legutóbb: 12. december 2022. 15:32 módosult

Stealth: Szenvedélyes a technológiával kapcsolatban, szeretek tesztelni és oktatóanyagokat írni az operációs rendszerekről macOS, Linux, Windows, ról ről WordPress, WooCommerce és LEMP webszerverek konfigurálása (Linux, NGINX, MySQL és PHP). írok tovább StealthSettingsA .com 2006 óta, és néhány évvel később elkezdtem írni az iHowTo.Tips oktatóanyagokat és az ökoszisztéma eszközeiről szóló híreket Apple: iPhone, iPad, Apple Nézd, HomePod, iMac, MacBook, AirPod-ok és kiegészítők.