🇺🇸 English version here.
Em servidores tradicionais — uma VPS hospedando um site estático, um servidor de aplicação isolado, ou qualquer máquina fora do cluster — o Certbot continua sendo a ferramenta mais direta para emitir e renovar certificados TLS gratuitos do Let's Encrypt.
Este artigo cobre os dois cenários mais comuns: emitir um certificado para um domÃnio especÃfico servido por um diretório (webroot) e emitir um certificado wildcard, que cobre um domÃnio e todos os seus subdomÃnios de uma só vez.
Emitindo um certificado para um domÃnio
Se a aplicação já está servida por um servidor web (Apache, Nginx, etc.) apontando para um diretório especÃfico, o método webroot é o mais simples: o Certbot cria um arquivo de validação temporário dentro desse diretório, que o Let's Encrypt acessa via HTTP para confirmar que você controla o domÃnio.
certbot -v certonly --webroot -w /var/www/vhosts/oregon -d www.oregon.net.br
Onde:
-
--webroot -w /var/www/vhosts/oregon: informa o diretório raiz onde o site já está sendo servido; -
-d www.oregon.net.br: o domÃnio para o qual o certificado será emitido.
Renovando certificados
Certificados do Let's Encrypt têm validade curta (90 dias), então a renovação precisa ser um processo recorrente. Para renovar todos os certificados próximos do vencimento de uma vez:
certbot renew
Para renovar um domÃnio especÃfico:
certbot renew certonly -d www.oregon.net.br
Importante: para esse tipo de procedimento, principalmente quando feito via SSH em uma VPS, é recomendado usar o
screen(outmux) antes de rodar o comando — assim, se a conexão cair no meio do processo, o comando continua rodando na sessão em segundo plano, sem precisar recomeçar.
Na prática, a forma mais comum de lidar com renovação é agendar certbot renew em um cron job, já que o Certbot só renova certificados que estão de fato próximos de expirar — rodar o comando com frequência não causa problema.
Emitindo um certificado wildcard
Quando uma aplicação usa múltiplos subdomÃnios (por exemplo, api.bagarote.dev.br, adm.bagarote.dev.br, app.bagarote.dev.br), em vez de emitir um certificado para cada um separadamente, é possÃvel emitir um único certificado wildcard, que cobre todos os subdomÃnios de uma vez.
Certificados wildcard exigem validação via DNS (não HTTP), já que não existe um servidor web fixo por trás de *.dominio:
certbot certonly -v --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory -d '*.bagarote.dev.br' -d bagarote.dev.br
Ao rodar esse comando, o Certbot vai pedir para você criar um registro TXT especÃfico (_acme-challenge.bagarote.dev.br) no DNS do seu domÃnio, como prova de que você o controla.
Renovando o certificado wildcard
certbot certonly --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory -d '*.bagarote.dev.br' -d bagarote.dev.br --force-renewal --manual-public-ip-logging-ok
A flag --force-renewal força a emissão de um novo certificado mesmo que o atual ainda esteja válido, e --manual-public-ip-logging-ok confirma que você está ciente de que o Let's Encrypt registra o IP público de onde a validação foi feita.
Verificando a propagação do registro DNS
Depois de criar o registro TXT solicitado pelo Certbot, é importante confirmar que ele já propagou antes de seguir com a validação — DNS pode levar alguns minutos (ou, em casos raros, horas) para propagar globalmente.
Ferramentas online que ajudam nessa checagem:
Ou, diretamente pelo terminal:
dig TXT _acme-challenge.bagarote.dev.br
Se o resultado retornar o valor TXT esperado, o registro já propagou e a validação do Certbot deve prosseguir sem problemas.
Considerações finais
Diferente do fluxo automatizado com cert-manager dentro de um cluster Kubernetes, o Certbot exige mais intervenção manual — principalmente no caso de certificados wildcard, que dependem da criação manual de registros DNS a cada renovação (a menos que seu provedor de DNS tenha um plugin de automação compatÃvel com o Certbot, o que elimina essa etapa manual). Ainda assim, para servidores isolados fora do cluster, é uma solução confiável, gratuita e amplamente documentada para manter certificados TLS válidos.
Top comments (0)