nginx cannot load certificate fullchain.pem – Certbot nustatyti

Klaida nginx cannot load certificate path/fullchain.pem pasirodo, kai išbandome NGINX paslaugą ištrynę sertifikatus Let’s Encrypt sukurta su Certbot.

Serveryje klaida atrodo taip:

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

Foninė nginx klaida

Ankstesniame straipsnyje parodžiau, kaip galite ištrinti iš Certbot domenai, kurie anksčiau buvo priglobti serveryje, bet šiuo metu nebėra aktyvūs. Ištrinkite senus domenus Certbot certificates (Šifruokime sertifikatą).

Kai ištrinate sertifikatus SSL aktyviems domenams, kurie vis dar yra serveryje, komanda: sudo certbot delete, sertifikatas ištrinamas automatiškai, bet išlieka aktyvus seansuose iki restartaptarnavimo zona nginx. Naudodami komandą nginx -t (tikrinate paslaugą) galite nustebti, kad bandymas nepavyksta dėl aukščiau nurodytos klaidos. Tačiau sprendimas yra labai paprastas.

nginx cannot load certificate
nginx cannot load certificate

Ištaisyta nginx: [emerg] negali įkelti sertifikato fullchain.pem

Kai įdiegiate sertifikatą SSL Let’s Encrypt iki Certbot, domeno nginx konfigūracijos faile pridedamos kelios eilutės, nurodančios sertifikato egzistavimą. Ištrynus sertifikatą, eilutės lieka nginx konfigūracijoje ir turi būti ištrintos rankiniu būdu. Tai yra, žemiau esančios eilutės:

.....    

    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

Ištrynę šias eilutes iš domeno, kurio sertifikatą pašalinote, nginx confg failo SSL, vykdykite komandą nginx -t patikrinti, ar viskas gerai.

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

Dabar galite restartpaslauga saugi nginx.

kaip » Hostingas » nginx cannot load certificate fullchain.pem – Certbot nustatyti

Aistringai žiūri į technologijas, man patinka išbandyti ir rašyti pamokas apie operacines sistemas macOS, Linux, Windows, apie WordPress, WooCommerce ir sukonfigūruoti LEMP žiniatinklio serverius (Linux, NGINX, MySQL ir PHP). Rašau toliau StealthSettings.com nuo 2006 m., o po kelerių metų pradėjau rašyti „iHowTo.Tips“ mokymo programose ir naujienose apie įrenginius ekosistemoje. Apple: iPhone, „iPad“, Apple Žiūrėti, „HomePod“, iMac, MacBook, „AirPod“ ir priedai.

Palikite komentarą