HTTPS grátis, automático e seguro. O Let's Encrypt democratizou o SSL e o Certbot é a ferramenta que torna tudo simples. Com Apache, a configuração é quase automática: quase.
Antes do Let's Encrypt, ter HTTPS num site custava dinheiro (certificados de terceiros) ou paciência (auto-assinados + confiança manual). Hoje, qualquer site pode ter HTTPS válido em minutos, sem pagar um cêntimo.
O Certbot é o cliente oficial da Let's Encrypt. Para Apache, ele faz tudo: obtém o certificado, configura o VirtualHost, ativa o redirecionamento HTTP→HTTPS, e ainda trata da renovação automática. Mas há nuances que é importante conhecer: desde wildcards com DNS-01 até troubleshooting de rate limits.
Vou mostrar-te:
- Instalação do Certbot em Debian/Ubuntu
- certbot --apache: obtenção e configuração automática
- Renovação automática e verificação
- Wildcard certificates com validação DNS
- Troubleshooting: rate limits, renewal hooks
- Boas práticas: OCSP stapling, HSTS, must-staple
⬆ Como o Certbot comunica com a Let's Encrypt para obter e renovar certificados
Instalação do Certbot no debian/ubuntu
Nota: A versão do apt nos repositórios Debian estáveis pode estar desatualizada. Se usas Debian 12, o pacote python3-certbot-apache é geralmente suficiente. Para Ubuntu, o snap é a via recomendada pela própria Let's Encrypt.
Obter e configurar o certificado
Assumindo que o Apache já está configurado com um VirtualHost para o teu domínio (mesmo que só HTTP), o comando é simples:
O que o certbot --apache faz automaticamente:
- Verifica que o domínio está acessível na porta 80
- Contacta a Let's Encrypt e obtém o desafio HTTP-01
- Coloca um ficheiro de verificação em /.well-known/acme-challenge/
- Valida o desafio com o servidor ACME
- Obtém os certificados (fullchain.pem, privkey.pem, cert.pem, chain.pem)
- Atualiza a configuração do Apache para usar SSL
- Ativa o redirecionamento 301 de HTTP para HTTPS
- Configura o timer de renovação automática
Renovação automática
Os certificados Let's Encrypt duram 90 dias. Mas não precisas de fazer nada: o Certbot instala um systemd timer que corre duas vezes por dia e renova automaticamente se faltarem menos de 30 dias.
Importante: Corre sempre certbot renew --dry-run depois de instalares. É a única forma de garantires que a renovação automática vai funcionar. Já vi servidores com certificados expirados porque o --dry-run nunca foi testado.
Wildcard certificates com validação DNS
Precisas de um certificado que cubra *.exemplo.pt? A validação HTTP-01 não funciona para wildcards. Tens de usar DNS-01: criar um registo TXT no DNS para provar que és dono do domínio.
O Certbot vai mostrar-te um registo TXT para adicionares ao DNS. Algo como:
Para automatizar isto, usa um plugin DNS. Por exemplo, para Cloudflare:
Troubleshooting comum
| Problema | Causa | Solução |
|---|---|---|
| Porta 80 bloqueada | Firewall ou ISP bloqueia a porta 80 | Usa validação DNS-01 em vez de HTTP-01 |
| Rate limit excedido | Máximo 5 certificados por domínio por semana | Espera ou usa wildcard para reduzir o número de certificados |
| Demasiadas renovações | Máximo 5 renovações por certificado por semana | Usa --dry-run para testar, não forces renovações reais |
| Certificado não renova | Apache não reinicia após renovação | Adiciona --deploy-hook "systemctl reload apache2" |
| DNS não propaga | Registo TXT demora a propagar | Usa --manual-public-ip-logging-ok e espera 60s |
Boas práticas de segurança
⬆ Como o OCSP Stapling acelera a validação de certificados
Recapitulando
- Instala com apt install certbot python3-certbot-apache
- certbot --apache -d exemplo.pt para tudo automático
- Renovação automática via systemd timer: testa com --dry-run
- Wildcards com DNS-01 (plugin Cloudflare ou manual)
- Troubleshooting: portas, rate limits, renewal hooks
- OCSP Stapling + HSTS + Must-Staple para segurança máxima
HTTPS grátis é uma das maiores conquistas recentes da internet. O Let's Encrypt e o Certbot tornaram-no acessível a qualquer pessoa com um domínio. Se ainda tens sites em HTTP em 2025, este é o empurrão que precisavas.
Experimenta correr o certbot --apache num site de teste e vê como é mágico ver o cadeado verde a aparecer no browser.
Comentários (0)
Nenhum comentário ainda. Seja o primeiro!
Deixar comentário