nginx cannot load certificate фуллцхаин.пем – Certbot Поправити

Грешка nginx cannot load certificate path/fullchain.pem појављује се када тестирамо НГИНКС услугу након брисања сертификата Let’s Encrypt генерисано са Certbot.

На серверу грешка изгледа овако:

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

Позадинска нгинк грешка

У претходном чланку сам показао како можете избрисати из Certbot домене који су били хостовани на серверу у прошлости, али који тренутно више нису активни. Избришите старе домене Certbot certificates (Хајде да шифрујемо сертификат).

Када избришете сертификате SSL за активне домене, који се још увек налазе на серверу, командом: sudo certbot delete, сертификат се аутоматски брише, али остаје активан у сесијама све док се услуга поново не покрене nginx. Са командом нгинк -т (тестирање услуге) можете бити изненађени да тест не успе са горњом грешком. Међутим, решење је врло једноставно.

nginx cannot load certificate
nginx cannot load certificate

Исправљен нгинк: [емерг] не може да учита сертификат фуллцхаин.пем

Када инсталирате сертификат SSL Let’s Encrypt по Certbot, у конфигурационој датотеци нгинк-а за домен, додаје се неколико редова који указују на постојање сертификата. Када се сертификат избрише, линије остају у нгинк конфигурацији и морају се ручно избрисати. То јест, редови испод:

.....    

    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

Након брисања ових редова из нгинк цонфг датотеке домена за који сте уклонили сертификат SSL, извршите команду nginx -t да провери да ли је све у реду.

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

Сада можете безбедно поново покренути услугу nginx.

Страствен за технологију, пишем са задовољством StealthSettings.цом од 2006. Имам велико искуство у оперативним системима: macOS, Windows си Linux, али и на програмским језицима и блогерским платформама (WordPress) и за онлајн продавнице (WooCommerce, Магенто, ПрестаСхоп).

како » web Хостинг » nginx cannot load certificate фуллцхаин.пем – Certbot Поправити
Оставите коментар