nginx cannot load certificate fullchain.pem – Certbot Popraviti

Pogreška nginx cannot load certificate path/fullchain.pem pojavljuje se kada testiramo uslugu NGINX nakon brisanja certifikata Let’s Encrypt generiran sa Certbot.

Na poslužitelju se pogreška pojavljuje ovako:

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

Pozadinska nginx pogreška

U prethodnom sam članku pokazao kako možete izbrisati iz Certbot domene koje su u prošlosti bile hostirane na poslužitelju, ali koje trenutno više nisu aktivne. Izbrišite stare domene Certbot certificates (Let's Encrypt Certificate).

Kada izbrišete certifikate SSL za aktivne domene, koje se još nalaze na poslužitelju, naredbom: sudo certbot delete, certifikat se automatski briše, ali ostaje aktivan u sesijama dok se usluga ponovno ne pokrene nginx. S naredbom nginx -t (testiranje usluge) možete se iznenaditi da test ne uspije s gornjom pogreškom. Međutim, rješenje je vrlo jednostavno.

nginx cannot load certificate
nginx cannot load certificate

Popravljen nginx: [emerg] ne može učitati certifikat fullchain.pem

Kada instalirate certifikat SSL Let’s Encrypt od Certbot, u konfiguracijskoj datoteci nginxa za domenu dodano je nekoliko redaka koji označavaju postojanje certifikata. Kada se certifikat izbriše, linije ostaju u nginx konfiguraciji i moraju se ručno izbrisati. Odnosno, donji redovi:

.....    

    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

Nakon brisanja ovih redaka iz nginx confg datoteke domene za koju ste uklonili certifikat SSL, izvršite naredbu nginx -t da provjerim je li sve u redu.

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

Sada možete sigurno ponovno pokrenuti uslugu nginx.

Strastveni zaljubljenik u tehnologiju, s veseljem pišem na StealthSettings.com od 2006. godine. Imam bogato iskustvo s operativnim sustavima: macOS, Windows i Linux, kao i s programskim jezicima i platformama za bloganje (WordPress) i za internetske trgovine (WooCommerce, Magento, PrestaShop).

kako » web hosting » nginx cannot load certificate fullchain.pem – Certbot Popraviti
Ostavite komentar