nginx cannot load certificate fullchain.pem – Certbot fiksna

Napaka nginx cannot load certificate path/fullchain.pem se prikaže, ko testiramo storitev NGINX po brisanju potrdil Let’s Encrypt ustvarjeno z Certbot.

V strežniku se napaka pojavi takole:

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

Napaka nginx v ozadju

V prejšnjem članku sem pokazal, kako lahko izbrišete iz Certbot domene, ki so bile v preteklosti gostovane na strežniku, a trenutno niso več aktivne. Izbrišite stare domene Certbot certificates (Let's Encrypt Certificate).

Ko izbrišete potrdila SSL za aktivne domene, ki še gostujejo na strežniku z ukazom: sudo certbot delete, se potrdilo samodejno izbriše, vendar ostane aktivno v sejah do restartstoritveno območje nginx. Z ukazom nginx -t (testiranje storitve) boste morda presenečeni, da test ne uspe z zgornjo napako. Vendar je rešitev zelo preprosta.

nginx cannot load certificate
nginx cannot load certificate

Popravljen nginx: [emerg] ne more naložiti potrdila fullchain.pem

Ko namestite potrdilo SSL Let’s Encrypt jo Certbot, je v konfiguracijski datoteki nginx za domeno dodanih nekaj vrstic, ki označujejo obstoj potrdila. Ko je potrdilo izbrisano, ostanejo vrstice v konfiguraciji nginx in jih je treba izbrisati ročno. To so naslednje vrstice:

.....    

    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

Po brisanju teh vrstic iz datoteke nginx confg domene, za katero ste odstranili potrdilo SSL, izvedite ukaz nginx -t da preverim če je vse 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]# 

Sedaj lahko restartstoritev je varna nginx.

kako » spletno gostovanje » nginx cannot load certificate fullchain.pem – Certbot fiksna

Navdušen sem nad tehnologijo, rad preizkušam in pišem vaje o operacijskih sistemih macOS, Linux, Windows, približno WordPress, WooCommerce in konfigurirajte spletne strežnike LEMP (Linux, NGINX, MySQL in PHP). pišem naprej StealthSettings.com od leta 2006, nekaj let kasneje pa sem začel pisati na iHowTo.Tips vadnice in novice o napravah v ekosistemu Apple: iPhone, iPad, Apple Ura, HomePod, iMac, MacBook, AirPods in dodatki.

Pustite komentar