nginx cannot load certificate cadena completa.pem – Certbot Fijar

El error nginx cannot load certificate path/fullchain.pem aparece cuando probamos el servicio NGINX después de eliminar certificados Let’s Encrypt generado con Certbot.

En el servidor, el error aparece así:

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

Error de nginx de fondo

En un artículo anterior, mostré cómo puede eliminar de Certbot los dominios que estaban alojados en el servidor en el pasado pero que actualmente ya no están activos. Eliminar dominios antiguos Certbot certificates (Vamos a cifrar el certificado).

Cuando elimina certificados SSL para dominios activos, que todavía están alojados en el servidor, mediante el comando: sudo certbot delete, el certificado se elimina automáticamente, pero permanece activo en las sesiones hasta que se reinicia el servicio nginx. Con el comando nginx -t (probando el servicio) puede sorprenderse de que la prueba falle con el error anterior. Sin embargo, la solución es muy sencilla.

nginx cannot load certificate
nginx cannot load certificate

Nginx fijo: [emerg] no puede cargar el certificado fullchain.pem

Cuando instala un certificado SSL Let’s Encrypt por Certbot, en el archivo de configuración de nginx para el dominio, se agregan unas líneas indicando la existencia del certificado. Cuando se elimina el certificado, las líneas permanecen en la configuración de nginx y deben eliminarse manualmente. Es decir, las siguientes líneas:

.....    

    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

Después de eliminar estas líneas del archivo nginx confg del dominio para el que eliminó el certificado SSL, ejecuta el comando nginx -t para comprobar si todo está bien.

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

Ahora puede reiniciar el servicio de forma segura. nginx.

Apasionado por la tecnología, escribo con gusto en StealthSettings.com desde el año 2006. Tengo una amplia experiencia en sistemas operativos: macOS, Windows y Linux, así como en lenguajes de programación y plataformas de blogs (WordPress) y para tiendas en línea (WooCommerce, Magento, PrestaShop).

Cómo » Web Hosting » nginx cannot load certificate cadena completa.pem – Certbot Fijar
Deja un comentario