Let’s Encrypt na VPS Linux: SSL grátis com Certbot

Tempo de leitura: 4 minutos

Todo site sem certificado SSL mostra aquele aviso de “não seguro” no navegador — e isso afasta visitante e prejudica o SEO. O Let’s Encrypt resolve isso de graça: é uma autoridade certificadora sem fins lucrativos que emite certificados SSL válidos, reconhecidos por todos os navegadores, sem custo nenhum. O Certbot é a ferramenta oficial que automatiza a emissão e a renovação.

Este guia mostra como instalar o Certbot numa VPS Linux, emitir o primeiro certificado e deixar a renovação automática configurada — sem precisar lembrar de renovar manualmente a cada 90 dias.

Como o Let’s Encrypt funciona

O Let’s Encrypt confirma que você realmente controla o domínio antes de emitir o certificado — o Certbot faz essa validação automaticamente, geralmente colocando um arquivo temporário no servidor ou configurando um registro DNS, dependendo do método escolhido. O certificado emitido vale por 90 dias, um prazo curto de propósito: incentiva a automação da renovação em vez de depender de alguém lembrar manualmente, o que é justamente o que o Certbot resolve.

Antes de começar

Com acesso SSH à VPS (veja o guia de acesso à VPS Linux via terminal se ainda não tiver feito isso), confirme dois pontos:

  • O domínio precisa já estar apontando para o IP da VPS — o Certbot não emite certificado para um domínio que ainda não resolve para o servidor.
  • As portas 80 e 443 precisam estar liberadas no firewall, senão a validação do Let’s Encrypt não consegue alcançar o servidor.

Como instalar o Certbot

Em distribuições baseadas em Debian/Ubuntu, o Certbot está nos repositórios oficiais:

sudo apt update
sudo apt install certbot -y

Se o servidor já roda Nginx ou Apache, vale instalar também o plugin correspondente (python3-certbot-nginx ou python3-certbot-apache) — ele configura o servidor web automaticamente depois de emitir o certificado, sem precisar editar nada na mão.

Como emitir o primeiro certificado

Com o plugin do servidor web instalado, um único comando já emite e configura:

sudo certbot --nginx -d seudominio.com.br -d www.seudominio.com.br

Troque --nginx por --apache se for o caso. O Certbot pergunta um e-mail de contato (usado para avisos de expiração, como rede de segurança) e se você quer redirecionar todo tráfego HTTP para HTTPS automaticamente — normalmente vale aceitar.

Se preferir só emitir o certificado sem mexer na configuração do servidor web (para configurar manualmente depois, ou noutro serviço que não seja Nginx/Apache):

sudo certbot certonly --standalone -d seudominio.com.br

O modo --standalone sobe um servidor temporário na porta 80 só para a validação — por isso ela precisa estar livre nesse momento (parar o Nginx/Apache antes, se algum já estiver rodando nela).

Renovação automática

A instalação do Certbot já cria um agendamento automático (via systemd timer ou CRON, dependendo da distribuição) que tenta renovar os certificados duas vezes por dia — a renovação de verdade só acontece quando o certificado está a 30 dias ou menos de expirar, então rodar duas vezes ao dia não sobrecarrega nada. Para confirmar que está configurado:

sudo systemctl list-timers | grep certbot

Para testar se a renovação funcionaria sem esperar os 90 dias:

sudo certbot renew --dry-run

Sem erro nesse teste, a renovação real vai funcionar sozinha quando chegar a hora — sem precisar mexer em nada de novo.

Certbot na VPS x AutoSSL do cPanel

Se o servidor já roda cPanel, o caminho é outro: o próprio painel usa o AutoSSL para emitir e renovar certificados Let’s Encrypt automaticamente, sem precisar do Certbot — veja o que fazer se ele parar de funcionar em AutoSSL não renovou: como diagnosticar o certificado no cPanel. O Certbot manual, como neste guia, é para quem administra a VPS diretamente (sem painel, ou com um servidor web configurado à mão).

Depois de ter o SSL configurado, vale reforçar as outras camadas de segurança do servidor: chave SSH em vez de senha e Fail2ban contra força bruta no SSH cobrem o acesso; o certificado cobre a criptografia do tráfego do site. Se o site roda em um container Docker, o certificado emitido no host ainda precisa ser apontado pro proxy reverso que expõe o container — vale revisar essa configuração depois de emitir.

O processo segue o padrão descrito na documentação oficial do Certbot, então funciona em qualquer distribuição Linux rodando numa VPS.