nginx cannot load certificate fullchain.pem - Certbot Fixar

o erro nginx cannot load certificate path/fullchain.pem aparece quando testamos o serviço NGINX após deletar os certificados Let’s Encrypt gerado com Certbot.

No servidor, o erro aparece assim:

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

Erro nginx em segundo plano

Em um artigo anterior, mostrei como você pode excluir de Certbot os domínios que foram hospedados no servidor no passado, mas que não estão mais ativos. Excluir domínios antigos Certbot certificates (Vamos criptografar o certificado).

Quando você exclui certificados SSL para domínios ativos, que ainda estão hospedados no servidor, pelo comando: sudo certbot delete, o certificado é excluído automaticamente, mas permanece ativo nas sessões até que o serviço seja reiniciado nginx. Com o comando nginx -t (testando o serviço), você pode se surpreender ao ver que o teste falha com o erro acima. No entanto, a solução é muito simples.

nginx cannot load certificate
nginx cannot load certificate

Corrigido nginx: [emerg] não pode carregar o certificado fullchain.pem

Quando você instala um certificado SSL Let’s Encrypt por Certbot, no arquivo de configuração do nginx para o domínio são adicionadas algumas linhas indicando a existência do certificado. Quando o certificado é excluído, as linhas permanecem na configuração do nginx e devem ser excluídas manualmente. Ou seja, as linhas abaixo:

.....    

    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

Depois de excluir essas linhas do arquivo nginx confg do domínio para o qual você removeu o certificado SSL, execute o comando nginx -t para verificar se está tudo ok.

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

Agora você pode reiniciar o serviço com segurança nginx.

Apaixonado por tecnologia, escrevo com prazer no StealthSettings.com desde 2006. Tenho uma ampla experiência em sistemas operacionais: macOS, Windows e Linux, assim como em linguagens de programação e plataformas de blogs (WordPress) e para lojas online (WooCommerce, Magento, PrestaShop).

Como » Web Hosting » nginx cannot load certificate fullchain.pem - Certbot Fixar
Deixe um comentário