Blog

Tutoriais, guias e novidades do produto.

Segurança e cópias de segurança

Certificados HTTPS gratuitos com o Let's Encrypt

2 novembro 2026 6 min de leitura
Partilhar esta publicação

O Let's Encrypt é uma autoridade de certificação que emite certificados HTTPS gratuitos para o seu domínio. No seu VPS, pode obter um certificado com alguns comandos usando o Certbot, ou sem nenhum comando usando o Caddy, e ambos o renovam sozinhos. Há dois requisitos: o domínio tem de apontar para o endereço IP do seu servidor, e as portas 80 e 443 têm de estar abertas a partir do exterior.

Porque precisa de HTTPS?

O HTTPS cifra o tráfego entre o navegador e o servidor. Terceiros na rede não conseguem ler a palavra-passe de um formulário de início de sessão nem os dados de uma encomenda. Os navegadores podem mostrar um aviso de «não seguro» em sites sem HTTPS. Um certificado do Let's Encrypt é gratuito, por isso já não há bom motivo para dispensar o HTTPS.

Antes de começar

  • O registo A do domínio tem de mostrar o endereço IP do seu servidor. Para verificar, execute dig +short example.com. O resultado deve ser o endereço IP do seu servidor.
  • As portas 80 e 443 têm de estar abertas, porque a validação é feita na porta 80 (HTTP-01). Se usa o ufw, execute sudo ufw allow 80/tcp e sudo ufw allow 443/tcp. Se o seu servidor tem uma firewall separada no painel, verifique também lá as regras.
  • Se o domínio tem um registo AAAA (IPv6), este também tem de apontar para este servidor. Se não apontar, apague o registo.
  • O seu servidor web tem de estar a correr e conhecer este domínio.

Instalar e verificar com o Certbot no Nginx ou no Apache

As instruções oficiais do Certbot recomendam o pacote snap. Confirme que o snapd está instalado no servidor (no Ubuntu costuma estar) e remova qualquer Certbot mais antigo instalado com o apt.

  1. Instale o Certbot: sudo snap install --classic certbot
  2. Torne o comando disponível em todo o lado: sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
  3. Obtenha o certificado e instale-o no servidor web. Execute sudo certbot --nginx para o Nginx ou sudo certbot --apache para o Apache.
  4. Responda às perguntas: o seu endereço de e-mail, para que domínios quer o certificado e se quer redirecionar o HTTP para o HTTPS.
  5. Experimente a renovação: sudo certbot renew --dry-run

Se só quer obter o certificado e configurar o resto por si, execute sudo certbot certonly --nginx. O pacote do Certbot acrescenta por si uma tarefa agendada (cron ou um temporizador do systemd), que pode ver no resultado de systemctl list-timers. O sudo certbot certificates lista os seus certificados e as datas de expiração. O Certbot renova um certificado quando a sua validade está a acabar, e não precisa de fazer nada. A renovação ainda pode falhar um dia (por exemplo, por causa de uma regra da firewall), por isso execute o --dry-run de vez em quando.

Para verificar o certificado, olhe primeiro para o ícone do cadeado na barra de endereços do navegador. Para ver a data de expiração com um comando, execute:

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates

A linha notAfter do resultado é a data de expiração do certificado. Se não usar o redirecionamento que o Certbot adiciona, redirecione por si o HTTP para o HTTPS. No Nginx, adicione a linha return 301 https://$host$request_uri; ao bloco server que escuta na porta 80.

Com o Caddy e sem comandos

Se usa o Caddy, não precisa de instalar nada extra. Para um domínio na sua configuração, o Caddy obtém o certificado do Let's Encrypt ou da ZeroSSL, renova-o e redireciona o HTTP para o HTTPS. Segundo a documentação oficial, os registos A e AAAA do domínio têm de apontar para o servidor, as portas 80 e 443 têm de estar acessíveis do exterior e a pasta de dados do Caddy tem de ser persistente e com permissão de escrita. Se executar o Caddy em Docker, monte essa pasta num volume. Caso contrário, os certificados desaparecem quando o contentor é apagado, e pedi-los de novo pode esbarrar num limite de pedidos.

Certificados wildcard

Um certificado wildcard (*.example.com) cobre todos os subdomínios com um só certificado, e só se obtém com a validação DNS-01. Esta validação não usa a porta 80. Pede que ponha um registo TXT no DNS do seu domínio. Para isso, o seu fornecedor de DNS precisa de uma API, e a chave da API fica guardada no servidor. A documentação do Let's Encrypt considera arriscado guardar essas chaves num servidor web. Se não precisa de um wildcard, obter certificados para domínios individuais com o HTTP-01 é mais simples e não obriga a guardar uma chave de DNS.

Erros comuns

SintomaCausa provávelSolução
A validação falha, domínio não encontradoO registo A aponta para o IP errado ou ainda não se propagouVerifique o IP com dig +short example.com e espere
TimeoutA porta 80 está fechadaAbra a 80 no ufw e na firewall do painel, se tiver uma
A validação passa umas vezes e falha outrasO registo AAAA aponta para outro servidorCorrija ou apague o registo AAAA
Erro de limite de pedidosDemasiadas tentativasUse --dry-run nos testes e consulte a página oficial para ver os limites
A renovação não correNão há tarefa agendada, ou o servidor web bloqueia a porta 80O sudo certbot renew --dry-run mostra o erro

A mensagem de erro costuma dizer que validação falhou e que endereço o Let's Encrypt tentou alcançar no seu servidor. Leia a mensagem tal como está. A resposta está muitas vezes ali mesmo.

Segundo a página oficial do Let's Encrypt, há um limite de 5 certificados por semana para o mesmo conjunto de nomes de domínio e de 5 validações falhadas por hora para o mesmo nome de domínio. Por isso, use o --dry-run enquanto experimenta. Tenta a renovação no ambiente de teste e não gasta o seu limite real.

Nas aplicações prontas da Seturack

As aplicações prontas (WordPress, Nextcloud e outras) abrem por HTTPS num endereço sslip.io derivado do seu endereço IP, por isso não é preciso nenhum nome de domínio. Quando liga o seu próprio domínio, o Caddy obtém de novo o certificado e não instala nada extra. Os passos para informar o Caddy e a aplicação sobre o domínio estão neste artigo de ajuda.

Comentários0

Ainda não existem comentários

Seja a primeira pessoa a partilhar a sua opinião.

Participar na discussão

Inicie sessão ou crie uma conta para deixar um comentário.

Não perca nenhuma publicação

Receba os nossos tutoriais, guias e novidades de produtos mais recentes na sua caixa de entrada.

Subscreveu o nosso boletim informativo.