Como instalar certificado SSL gratuito em uma VPS
Um site sem HTTPS hoje é praticamente um site marcado como suspeito. O navegador exibe avisos de conexão não segura, os motores de busca tratam isso como sinal negativo de ranqueamento, e boa parte dos visitantes simplesmente fecha a aba antes mesmo de terminar de carregar a página. A notícia boa é que ativar um certificado SSL válido não custa nada e, na prática, pode ser feito em poucos minutos, mesmo sem experiência prévia com servidores.
Este guia é para quem tem, ou está pensando em contratar, uma VPS e quer entender como instalar um certificado SSL gratuito na prática. Vamos além do caminho mais conhecido. Existe mais de uma forma de fazer isso, e a escolha certa depende do seu nível de conforto com linha de comando, do tempo disponível para manutenção e de quantos domínios ou subdomínios você precisa proteger. Ao final, você vai entender as três alternativas mais usadas hoje e saber qual delas faz mais sentido para o seu caso.

O que é um certificado SSL e por que ele é obrigatório numa VPS
Um certificado SSL, tecnicamente hoje já é TLS, mas o termo SSL permanece de uso comum, é um arquivo digital que confirma duas coisas ao navegador de quem visita o site. Primeiro, que o domínio pertence mesmo a quem diz ser o dono. Segundo, que toda a comunicação entre o visitante e o servidor está criptografada, ou seja, ninguém no meio do caminho consegue ler senhas, dados de cartão ou qualquer informação trocada.
Sem esse certificado, o site abre apenas em HTTP. Os navegadores modernos marcam isso de forma explícita, geralmente com a palavra “não seguro” ao lado do endereço. Para lojas virtuais, formulários de login ou qualquer página que colete dados, isso é sinônimo de abandono imediato do visitante.
Alguns termos aparecem sempre que o assunto é certificado, e vale destrinchar rapidamente:
- Domínio: o endereço do site, como meusite.com.br. O certificado é emitido para um domínio específico.
- Subdomínio: um endereço adicional dentro do domínio principal, como api.meusite.com.br ou blog.meusite.com.br. Cada subdomínio pode precisar de proteção própria.
- Certificado wildcard: um único certificado que cobre o domínio principal e todos os subdomínios de uma vez, útil quando há muitos endereços para proteger.
- Validação de domínio (DV): o nível de verificação mais comum em certificados gratuitos. Confirma que você controla o domínio, sem checar documentos da empresa. Para a grande maioria dos sites, isso já é suficiente.
Numa VPS, diferente de uma hospedagem compartilhada com painel pronto, você tem controle total do servidor, e isso inclui a responsabilidade de configurar o certificado você mesmo. É justamente esse controle que permite escolher entre os três caminhos que vamos detalhar a seguir.
Como funciona a emissão gratuita: o papel do protocolo ACME
Todos os métodos gratuitos que existem hoje dependem de um mesmo protocolo por trás das cortinas, chamado ACME. A lógica é simples de entender mesmo sem conhecimento técnico profundo. Um programa instalado no seu servidor, chamado de cliente ACME, entra em contato com uma autoridade certificadora e prova que você realmente controla aquele domínio. Essa prova costuma acontecer de duas formas: o servidor responde a uma pequena verificação na porta 80, chamada de desafio HTTP, ou um registro específico é adicionado ao DNS do domínio, o desafio DNS, usado principalmente para certificados wildcard.
Uma vez confirmada a posse do domínio, a autoridade certificadora emite o certificado automaticamente, sem troca de e-mails, sem envio de documentos e sem espera de dias. Todo o processo, da solicitação à instalação, costuma levar menos de um minuto no primeiro uso.
A autoridade certificadora mais conhecida nesse modelo é a Let's Encrypt, mantida por uma organização sem fins lucrativos e responsável por bilhões de certificados emitidos desde 2016. Mas ela não é a única, e mais adiante vamos falar sobre a ZeroSSL como alternativa dentro do mesmo protocolo.
Para que qualquer um desses métodos funcione, é preciso ter um servidor acessível publicamente, com as portas 80 e 443 abertas, e o domínio já apontando corretamente para o IP desse servidor. Sem esse pré requisito básico, nenhuma autoridade certificadora consegue confirmar que o domínio realmente pertence a quem está solicitando o certificado, e a emissão falha antes mesmo de começar. Para quem ainda está escolhendo onde hospedar o projeto, é possível criar uma VPS na Serverspace em poucos minutos e já deixar o ambiente pronto para os passos seguintes.
Vale reforçar um ponto que costuma gerar confusão: emitir o certificado é só metade do trabalho. Depois de instalado, o ideal é também forçar o redirecionamento de HTTP para HTTPS e, se possível, ativar o cabeçalho HSTS, que instrui o navegador a nunca mais tentar acessar o site sem criptografia. Ferramentas como o teste da SSL Labs ajudam a confirmar se a configuração final está mesmo correta, além do certificado em si.
Let's Encrypt e Certbot: o caminho mais usado
O Certbot é o cliente ACME mantido pela Electronic Frontier Foundation e, de longe, a ferramenta mais usada para obter certificados Let's Encrypt em servidores Linux. Ele automatiza praticamente tudo: solicita o certificado, prova a posse do domínio, instala o arquivo e ajusta a configuração do servidor web.
Passo a passo básico com Nginx
Depois de conectar na VPS via SSH e garantir que o domínio já aponta para o IP do servidor, o processo resumido é este:
sudo apt update && sudo apt upgrade -y
sudo apt install -y nginx
sudo apt install -y certbot python3-certbot-nginxCom o Nginx e o Certbot instalados, basta rodar o comando de emissão informando o domínio:
sudo certbot --nginx -d meusite.com.br -d www.meusite.com.brO Certbot pergunta um e-mail para avisos de renovação, pede aceite dos termos de uso e, ao final, oferece a opção de forçar o redirecionamento automático de HTTP para HTTPS. Vale sempre aceitar essa opção. Depois de alguns segundos, o certificado já está instalado e o site passa a abrir com o cadeado no navegador.
O detalhe que costuma ser esquecido é a renovação. O certificado da Let's Encrypt tem validade de apenas 90 dias, mas o Certbot já agenda a renovação automática por conta própria através de um timer do sistema. Para confirmar que está tudo certo, o comando de teste é:
sudo certbot renew --dry-runSe o teste terminar sem erros, a renovação automática está garantida e não exige nenhuma atenção manual pelos próximos meses.
Caddy: HTTPS automático sem Certbot nem cron
Se o Certbot já resolve o problema, por que existe outro caminho? Porque o Certbot ainda exige que você instale uma ferramenta separada, configure a integração com o servidor web e confie num agendamento de renovação para que tudo continue funcionando com o tempo. O Caddy propõe outra filosofia: HTTPS automático já embutido no próprio servidor web, sem nenhuma peça adicional.
Na prática, isso significa que o Caddy se comunica sozinho com a Let's Encrypt, ou com a ZeroSSL quando necessário como alternativa, obtém o certificado, instala e renova tudo sem intervenção humana e sem cron job separado. Um exemplo de configuração completa para servir um site estático com HTTPS automático cabe em poucas linhas:
meusite.com.br {
root * /var/www/meusite
file_server
}Só isso já é suficiente para o Caddy detectar o domínio, emitir o certificado e servir o conteúdo em HTTPS. Para um proxy reverso apontando para uma aplicação rodando numa porta interna, a configuração é igualmente enxuta:
meusite.com.br {
reverse_proxy localhost:3000
}A instalação do Caddy também é simples, disponível via repositório oficial para Ubuntu e Debian, e depois de instalado ele já roda como serviço do sistema. A principal vantagem prática é reduzir a superfície de erro: não existe cron para esquecer, nem hook de renovação para configurar. Isso torna o Caddy uma escolha frequente para projetos novos, times pequenos sem rotina dedicada de infraestrutura, ou qualquer situação em que o tempo de manutenção disponível é curto.
A contrapartida é que o Caddy tem um ecossistema menor que o Nginx, com menos exemplos prontos para cenários muito específicos e customizados. Para configurações simples e médias, isso raramente é um problema real.
ZeroSSL: quando vale a pena trocar de autoridade certificadora
A ZeroSSL é outra autoridade certificadora que segue o mesmo protocolo ACME, o que significa que os mesmos clientes usados com a Let's Encrypt, incluindo o próprio Certbot, também funcionam com ela, bastando apontar o cliente para o servidor da ZeroSSL em vez do padrão.
Existem três motivos práticos para considerar a ZeroSSL:
Primeiro, limites de uso. A Let's Encrypt aplica limites de emissão por domínio dentro de uma janela de tempo, e projetos que emitem certificados com muita frequência, por exemplo em ambientes automatizados de teste, podem esbarrar nesse teto. A ZeroSSL funciona como alternativa nesses casos.
Segundo, certificados wildcard gratuitos. A ZeroSSL oferece certificados que cobrem um domínio e todos os seus subdomínios de uma vez, ainda no plano gratuito, o que é útil para quem administra vários subdomínios, como api, blog e painel, sob o mesmo domínio principal.
Terceiro, interface web. Diferente do fluxo majoritariamente feito por linha de comando da Let's Encrypt, a ZeroSSL oferece um painel onde é possível gerar e baixar certificados manualmente, sem precisar instalar nenhum cliente ACME, algo que pode interessar a quem prefere evitar o terminal.
Comparativo rápido: qual ferramenta escolher
A tabela abaixo resume as diferenças práticas entre os três caminhos apresentados.
| Solução | Configuração | Renovação automática | Wildcard grátis | Melhor para |
|---|---|---|---|---|
| Let's Encrypt + Certbot | Manual, via linha de comando | Sim, via timer do sistema | Sim, com desafio DNS manual | Quem já usa Nginx ou Apache e quer o caminho mais documentado |
| Caddy | Automática, poucas linhas de configuração | Sim, nativa, sem cron | Sim, com configuração adicional | Projetos novos e times sem rotina dedicada de infraestrutura |
| ZeroSSL | Painel web ou linha de comando | Depende do cliente ACME usado | Sim, incluído no plano gratuito | Quem tem vários subdomínios ou prefere interface gráfica |
Vantagens, limites e riscos do SSL gratuito
Antes de escolher um caminho, vale entender o que o SSL gratuito entrega bem e onde ele tem limites reais.
Entre as vantagens, a principal é óbvia: custo zero, mesmo para quem administra vários domínios. A automação também elimina praticamente todo o trabalho manual recorrente, e o nível de confiança do navegador é idêntico ao de um certificado pago de validação de domínio. Não existe diferença técnica de criptografia entre um certificado gratuito e um pago do mesmo tipo.
Já entre os limites, o principal é a validade curta. Os 90 dias exigem que a renovação automática esteja de fato configurada e funcionando, porque depender de lembrar manualmente é receita para um certificado expirado em algum momento. Outro ponto é o nível de validação: certificados gratuitos são sempre DV, ou seja, comprovam apenas a posse do domínio. Empresas que precisam exibir o nome da organização verificada na barra de endereço, algo chamado de validação estendida, precisam de um certificado pago específico para isso, o que é raro fora de bancos e instituições financeiras.
O maior risco prático não está no certificado em si, mas na operação ao redor dele: fechar a porta 80 depois da emissão, mudar de servidor sem migrar a configuração de renovação, ou simplesmente não testar se a renovação automática está de fato ativa.
Um exemplo comum ilustra bem esse risco. Um projeto migra de servidor, o time reconfigura tudo manualmente e esquece de recriar o agendamento de renovação. Três meses depois, o certificado expira sem aviso perceptível no dia a dia, até o momento em que um cliente relata que o navegador bloqueou o acesso ao site. Esse tipo de incidente é evitável com um teste simples logo após qualquer mudança de infraestrutura, e é justamente por isso que a etapa de verificação da renovação nunca deveria ser pulada.
Cenários práticos: qual abordagem escolher em cada caso
Para tornar a escolha mais concreta, seguem quatro situações comuns e qual caminho costuma fazer mais sentido em cada uma.
- Site pessoal, portfólio ou landing page simples. Quando o objetivo é apenas ter o site no ar com HTTPS funcionando sem complicação, o Caddy costuma ser a opção mais rápida, já que resolve tudo com uma configuração mínima e sem peças soltas para manter.
- Startup ou projeto em fase inicial, sem equipe dedicada de infraestrutura. Aqui o argumento principal é tempo. O Caddy novamente se encaixa bem, mas o Certbot com Nginx também é uma escolha sólida se a equipe já tem familiaridade com esse servidor web.
- Agência ou freelancer administrando vários clientes com múltiplos subdomínios. Quando o número de subdomínios cresce, um certificado wildcard economiza tempo de configuração. A ZeroSSL é uma alternativa direta para esse caso, incluindo a opção gratuita de wildcard.
- Loja virtual ou aplicação com tráfego relevante e histórico de infraestrutura consolidado. Para quem já opera com Nginx há anos e tem processos maduros de deploy, o par Certbot mais Nginx continua sendo a combinação mais testada e documentada do mercado, com o maior volume de exemplos e soluções para problemas específicos.
Em qualquer um desses cenários, o ponto de partida é o mesmo: uma VPS com portas 80 e 443 liberadas e o domínio já apontando corretamente para o servidor. Contratar uma VPS na Serverspace com cobrança por hora é uma forma prática de testar qualquer um dos três métodos sem compromisso de longo prazo, e depois escalar os recursos conforme o projeto cresce.
Erros mais comuns ao configurar SSL grátis e como evitar
- Domínio apontando para o lugar errado. É a causa mais frequente de falha na emissão. Antes de rodar qualquer comando, confirme que o registro DNS do domínio aponta para o IP correto da VPS. Sem isso, nenhuma autoridade certificadora consegue validar a posse do domínio.
- Portas 80 e 443 fechadas no firewall. A porta 80 é usada na validação inicial e a 443 no tráfego HTTPS propriamente dito. Se o firewall da VPS bloquear qualquer uma delas, a emissão ou a renovação falha silenciosamente.
- Fechar a porta 80 depois de ativar o HTTPS. Um erro comum é, após a emissão, bloquear a porta 80 por achar que ela não é mais necessária. Se a validação usada for por HTTP, a renovação automática depende dessa mesma porta continuar acessível.
- Não testar a renovação automática. Configurar e nunca verificar se funciona é como instalar um alarme e nunca testar a bateria. O comando de teste do Certbot, ou o próprio funcionamento silencioso do Caddy, deve ser conferido pelo menos uma vez logo após a configuração inicial.
- Esquecer o redirecionamento de HTTP para HTTPS. Sem esse redirecionamento, o site continua acessível sem criptografia pela porta 80, o que anula boa parte do benefício de ter o certificado instalado.
Conclusão: por onde começar agora
Não existe um único caminho certo para obter um certificado SSL gratuito numa VPS, e isso é uma vantagem, não uma complicação. O Certbot com Let's Encrypt continua sendo a opção mais testada e documentada. O Caddy resolve o mesmo problema com muito menos peças para manter, ideal para quem quer simplicidade. A ZeroSSL entra como alternativa quando wildcard gratuito ou limites de emissão entram na conversa.
Na prática, o primeiro passo é sempre o mesmo, independentemente do método escolhido: ter um servidor com o domínio apontando corretamente e as portas certas liberadas. Criar uma VPS na Serverspace e testar qualquer um dos três caminhos deste guia é um bom ponto de partida, já que a cobrança por hora permite experimentar sem compromisso antes de decidir o que faz mais sentido para o projeto.