Como resolver o erro de renovação SSL do Let's Encrypt no servidor Linux?
Guia para erros de renovação do Certbot, problemas de verificação de domínio e certificados SSL expirados.
Quando o certificado SSL de um website expira, os visitantes verão um aviso de insegurança nos seus navegadores. Isto não só reduz a confiança do utilizador; O WHMCS também cria problemas graves para os sistemas de pagamento, ligações API, painéis de jogos e logins de clientes.
Os certificados Let's Encrypt são gratuitos, mas devem ser renovados periodicamente. Se o Certbot não estiver configurado corretamente, a renovação falhará e o SSL poderá expirar.
1.º Verificando os certificados disponíveis
Primeiro verifique quais os certificados presentes no servidor:
certbot certificates
Este comando mostra o nome do certificado, os domínios, os caminhos dos ficheiros e a data de expiração.
Se não existir nenhum comando certbot, poderá não ser instalado:
certbot --version
2. Realizando testes de atualização
Para testar o certificado antes de o renovar:
certbot renew --dry-run
Este comando testa o processo de atualização. Se houver um erro, poderá ver o problema antes do dia real da renovação.
3. Erros mais comuns do Certbot
A maioria dos erros de renovação do Let's Encrypt estão relacionados com a validação do domínio e o acesso ao servidor web.
- Resposta inválida: O Let's Encrypt não consegue aceder ao ficheiro de verificação.
- Ligação recusada: A porta 80 ou 443 pode estar fechada.
- Tempo limite durante a ligação: O domínio pode não estar direcionado para o servidor ou a firewall pode estar a bloqueá-lo.
- Não autorizado: O ficheiro de verificação de domínio pode estar a devolver conteúdo incorreto.
- Muitos certificados: As tentativas de certificado podem ter sido feitas com muita frequência.
4. Verificando o encaminhamento IP do domínio
Para que a renovação do certificado funcione, o domínio deve ser direcionado para o endereço IP do servidor correto.
dig domainadi.com +short
Se o dig não estiver instalado:
apt install dnsutils -y
Em sistemas baseados em CentOS:
yum install bind-utils -y
O IP devolvido pelo domínio deve ser igual ao endereço IP do servidor no qual o SSL será instalado.
5.º Verificação das portas 80 e 443
O Let's Encrypt geralmente deseja aceder à porta 80 para autenticação HTTP. Se a porta 80 estiver fechada, a autenticação pode falhar.
ss -tulpn | grep -E ':80|:443'
Se estiver a utilizar uma firewall, certifique-se de que as portas 80 e 443 estão abertas.
Para a UFW:
ufw allow 80/tcp ufw allow 443/tcp ufw reload
Para Firewalld:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
6. Teste de configuração Nginx ou Apache
Se existir um erro no ficheiro de configuração do servidor web, o serviço web não pode ser recarregado após a atualização do certbot.
Para Nginx:
nginx -t
Para o Apache:
apachectl configtest
Se não existirem erros, poderá reinstalar os serviços:
systemctl reload nginx
ou:
systemctl reload apache2
7. Renovação manual do certificado SSL
Se todas as verificações estiverem corretas, pode executar a atualização manualmente:
certbot renew
Exemplo Nginx se apenas necessitar de recertificar para um domínio específico:
certbot --nginx -d domainadi.com -d www.domainadi.com
Exemplo Apache:
certbot --apache -d domainadi.com -d www.domainadi.com
8. Verificação do agendador de atualização automática
O Certbot é normalmente atualizado automaticamente com o temporizador do systemd ou cron.
systemctl list-timers | grep certbot
Para verificar o estado do temporizador:
systemctl status certbot.timer
Se o temporizador estiver desligado:
systemctl enable certbot.timer systemctl start certbot.timer
Erros Comuns
- Tentar obter SSL quando o endereço IP do domínio está errado
- Feche a porta 80 e aguarde que a autenticação HTTP funcione
- Não verificar a estrutura de autenticação quando o proxy Cloudflare está ativado
- Confundir o erro de configuração Nginx/Apache com o erro certbot
- Não testar a renovação automática até que o SSL expire
Perguntas frequentes
Se o SSL expirar, o site será encerrado completamente?
O site pode funcionar tecnicamente, mas o browser mostra um aviso de segurança. Isto reduz seriamente a confiança do cliente.
Porque é que a renovação do Certbot falha?
Normalmente o domínio está direcionado para o IP errado, a porta 80/443 está fechada, a configuração do servidor web está incorreta ou o ficheiro de verificação não está acessível.
A renovação do SSL é um problema quando se utiliza o Cloudflare?
O modo SSL ou a configuração de proxy incorreta podem afetar o processo de verificação. O método de verificação do domínio deve ser escolhido em conformidade.
Recomendações de segurança e operações
- Verifique as datas de expiração do SSL regularmente.
- Execute o teste certbot promote --dry-run periodicamente.
- Não feche as portas 80 e 443 desnecessariamente.
- Após as alterações na configuração do servidor web, execute nginx -t ou apachectl configtest.
- Não negligencie a monitorização SSL em domínios que utilizam painéis de pagamento e de clientes.
Este artigo foi preparado especialmente para o PvPServer.