Tutoriais

Como instalar SSL grátis com Let's Encrypt e Certbot

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:

  1. Pedir um e-mail para avisos de expiração;
  2. Solicitar a aceitação dos termos;
  3. Validar o domínio;
  4. 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.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS