Nginx não pode carregar o certificado fullchain.pem – CERTBOT FIX
erro nginx cannot load certificate path/fullchain.pem aparece quando testamos o serviço NGINX após excluir certificados Let’s Encrypt gerado com Certbot.
contente
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
Plano de fundo eroare nginx
Em um artigo anterior mostrei como você pode excluir do Certbot os domínios que estavam hospedados no servidor no passado, mas que atualmente não estão mais ativos. Excluir domínios antigos certificados certificados (vamos criptografar).
Ao excluir certificados SSL de domínios ativos, que ainda estão hospedados no servidor, por 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 saber que o teste falha com o erro acima. Porém, a solução é muito simples.

Corrigir nginx: [emerg] não é possível carregar o certificado fullchain.pem
Quando você instala um certificado SSL Let’s Encrypt através do 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
Após excluir essas linhas do arquivo nginx confg do domínio do qual você removeu o certificado SSL, execute o comando nginx -t para verificar se está tudo bem.
- Excluir domínios antigos certificados certificados (vamos criptografar)
- Como instalar manualmente um certificado SSL para um site sem cPanel/VestaCP [NGINX]
- Certificado TLS/SSL – Um novo limite de prazo de validade imposto a partir de setembro de 2020
- WP Super Cache vs. W3 Total Cache (velocidade de carregamento da página WordPress)
- Como mover um blog ou site WordPress de HTTP para HTTPS (NGINX)
[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.
Nginx não pode carregar o certificado fullchain.pem – CERTBOT FIX
O que há de novo
Sobre Stealth
Apaixonado por tecnologia, escrevo com prazer no StealthSettings.com desde 2006. Tenho uma vasta experiência em sistemas operativos: macOS, Windows e Linux, bem como em linguagens de programação e plataformas de blogging (WordPress) e para lojas online (WooCommerce, Magento, PrestaShop).
Veja todos os posts de StealthVocê também pode estar interessado em...