- Castro/
- blog/
- Certbot via systemd timer: como verificar se a renovação automática realmente está funcionando/
Certbot via systemd timer: como verificar se a renovação automática realmente está funcionando
Como validar timer, última e próxima execução, certificados instalados e dry-run antes de confiar na renovação automática do Certbot.
Ter Certbot instalado não prova que o certificado vai renovar sozinho.
Em uma coleta real, systemctl list-timers mostrava uma unidade de renovação do Certbot com execução anterior registrada e uma próxima execução agendada poucas horas depois.
Esse é um bom começo.
Mas a verificação que eu quero responder é mais completa:
o scheduler existe, executa, encontra os certificados certos e consegue renovar sem intervenção?
Comece pelo timer real #
Dependendo de como Certbot foi instalado, o nome da unidade pode variar.
No ambiente recuperado, aparecia algo como:
| |
Então eu começaria com:
| |
E depois:
| |
ou, em instalação via pacote:
| |
O nome correto deve vir do host, não de uma receita copiada.
list-timers responde duas perguntas importantes #
A saída mostra normalmente:
| |
Se existe um LAST recente e um NEXT futuro, há evidência de que o systemd está agendando a unidade.
Isso ainda não prova que a renovação de um certificado específico teve sucesso.
O timer pode executar e o comando falhar.
Veja o serviço acionado pelo timer #
| |
ou:
| |
Depois consulte o journal:
| |
O objetivo é separar:
| |
Liste o que o Certbot acredita administrar #
| |
Isso mostra, entre outras coisas:
- nomes cobertos;
- validade;
- caminho do certificado;
- caminho da chave;
- configuração de renewal associada.
É útil comparar isso com a configuração efetiva do servidor web.
No Nginx:
| |
Um certificado pode renovar corretamente e o Nginx continuar apontando para outro arquivo.
O teste mais importante é o dry-run #
Quando a operação permitir:
| |
Esse teste simula o processo de renovação com o ambiente de staging do ACME e ajuda a encontrar problemas antes da expiração real.
Ele pode revelar:
- DNS apontando para lugar errado;
- porta/challenge inacessível;
- plugin ausente;
- configuração antiga;
- hook com erro;
- autenticação DNS inválida.
O resultado precisa ser lido; rodar o comando não basta.
Valide também o certificado entregue externamente #
O arquivo local pode estar correto enquanto o cliente recebe outro certificado de uma CDN, proxy ou load balancer.
Uma verificação externa:
| |
Ou:
| |
Assim você confirma o que está realmente sendo apresentado na borda consultada.
Cuidado com instalações duplicadas #
É possível encontrar Certbot instalado por mecanismos diferentes no mesmo host, por exemplo pacote e snap.
Isso pode criar timers ou caminhos diferentes e dificultar a resposta:
quem renova este certificado?
Eu verificaria:
| |
Também:
| |
O objetivo é ter um mecanismo deliberado, não vários schedulers concorrentes sem documentação.
O que a fonte deste artigo prova #
A coleta técnica recuperada mostra um servidor Linux com:
- timer de renovação Certbot gerenciado por systemd/snap;
- execução anterior registrada;
- próxima execução agendada;
- outros timers do sistema coexistindo normalmente.
Ela não é usada para afirmar que um certificado específico estava perto de expirar ou que houve uma falha de renovação.
O artigo transforma aquela evidência em um checklist de validação do mecanismo.
Checklist #
| |
O principal aprendizado #
Renovação automática não é uma configuração que eu marco como “feito” porque existe um timer.
Eu quero uma cadeia verificável:
| |
Só aí a palavra automática começa a ser confiável.
Me chama.
Manda o contexto, os sintomas e o que já foi testado. Bora organizar as evidências antes de sair mexendo.