Como instalar SSL grátis com Let's Encrypt e Certbot
HTTPS é obrigatório hoje: navegadores marcam sites sem SSL como "não seguros", e a criptografia protege os dados dos seus visitantes. Com o Let's Encrypt, o certificado é gratuito e renovado automaticamente.
Pré-requisitos
- Um domínio apontando para o IP do seu VPS (registro A e, se usar, AAAA);
- Nginx ou Apache instalado e respondendo na porta 80;
- Portas 80 e 443 liberadas no firewall.
Verifique o DNS:
dig +short seudominio.com.br
Instalando o Certbot
Ubuntu/Debian
sudo apt update
sudo apt install certbot python3-certbot-nginx -y # para Nginx
sudo apt install certbot python3-certbot-apache -y # para Apache
AlmaLinux/Rocky
sudo dnf install epel-release -y
sudo dnf install certbot python3-certbot-nginx -y
Emitindo o certificado
Com Nginx
sudo certbot --nginx -d seudominio.com.br -d www.seudominio.com.br
Com Apache
sudo certbot --apache -d seudominio.com.br -d www.seudominio.com.br
O Certbot vai:
- Pedir um e-mail para avisos de expiração;
- Solicitar a aceitação dos termos;
- Validar o domínio;
- Instalar o certificado e configurar o servidor web, incluindo o redirecionamento de HTTP para HTTPS.
Renovação automática
Os certificados do Let's Encrypt têm validade curta e precisam ser renovados. O Certbot instala um timer ou cron que faz isso sozinho. Confira:
systemctl list-timers | grep certbot
sudo certbot renew --dry-run
Se o teste passar, está tudo certo.
Certificado wildcard (*.seudominio.com.br)
Certificados wildcard exigem validação por DNS. Com o plugin do seu provedor de DNS (ex.: Cloudflare):
sudo apt install python3-certbot-dns-cloudflare -y
sudo certbot certonly --dns-cloudflare \
--dns-cloudflare-credentials /root/.secrets/cloudflare.ini \
-d seudominio.com.br -d '*.seudominio.com.br'
Comandos úteis
sudo certbot certificates # lista certificados e validade
sudo certbot delete --cert-name dominio # remove um certificado
Deixando o HTTPS ainda melhor
- Ative HTTP/2 no Nginx (
listen 443 ssl http2;ou, nas versões mais recentes,http2 on;); - Use apenas TLS 1.2 e 1.3;
- Considere o cabeçalho HSTS depois de confirmar que tudo funciona em HTTPS:
add_header Strict-Transport-Security "max-age=31536000" always;
Teste a configuração em ferramentas como o SSL Labs.
Problemas comuns
| Erro | Causa provável |
|---|---|
| Falha na validação | DNS não aponta para o VPS ou porta 80 bloqueada |
| Too many requests | Limite de emissões do Let's Encrypt atingido — use --dry-run para testes |
| Renovação falhou | Servidor web parado ou configuração alterada |
Conclusão
Em poucos minutos, seu site fica protegido com HTTPS, sem custo.Faça isso no seu VPS-NVME-BR da VittHost, com servidores no Brasil e NVMe — e use o cupom SP-VITT20 para ganhar 20% de desconto na primeira fatura enquanto a promoção estiver ativa.