nginx cannot load certificate полная цепочка.pem – Certbot фиксированный

Ошибка nginx cannot load certificate path/fullchain.pem появляется, когда мы тестируем службу NGINX после удаления сертификатов 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

Фоновая ошибка nginx

В предыдущей статье я показал, как можно удалить из Certbot домены, которые ранее размещались на сервере, но в настоящее время больше не активны. Удалить старые домены Certbot certificates (Давайте зашифруем сертификат).

При удалении сертификатов SSL для активных доменов, которые все еще размещены на сервере, командой: sudo certbot delete, сертификат удаляется автоматически, но остается активным в сессиях до перезапуска службы nginx. С помощью команды nginx -t (тестирование службы) вы можете быть удивлены тем, что тест завершается с ошибкой, указанной выше. Однако решение очень простое.

nginx cannot load certificate
nginx cannot load certificate

Исправлен nginx: [emerg] не может загрузить сертификат fullchain.pem

При установке сертификата SSL Let’s Encrypt по Certbot, в конфигурационный файл nginx для домена добавлено несколько строк, указывающих на наличие сертификата. При удалении сертификата строки остаются в конфиге nginx и их нужно удалять вручную. То есть строки ниже:

.....    

    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

После удаления этих строк из файла конфигурации nginx домена, для которого вы удалили сертификат 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.

Поклонник технологий, с 2006 года с удовольствием пишу на StealthSettings.com. Обширный опыт работы с операционными системами: macOS, Windows и Linux, а также с языками программирования и платформами для блогов (WordPress) и онлайн-магазинов (WooCommerce, Magento, PrestaShop).

КАК » Наши » nginx cannot load certificate полная цепочка.pem – Certbot фиксированный
Оставьте комментарий