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 per seansus, kol paslauga nebus paleista iš naujo 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 saugiai iš naujo paleisti paslaugą nginx.

Technologijų entuziastas, nuo 2006 metų su malonumu rašau „StealthSettings.com“. Turiu išsamią patirtį su operacinėmis sistemomis: macOS, „Windows“ ir „Linux“, taip pat programavimo kalbomis ir blogo platformomis („WordPress“) bei internetinės parduotuvės platformomis („WooCommerce“, „Magento“, „PrestaShop“).

kaip » Web Hosting » nginx cannot load certificate fullchain.pem – Certbot nustatyti
Palikite komentarą