Um certificado SSL gratuito criptografa a conexão entre seus visitantes e seu site — protegendo senhas, pagamentos e dados pessoais. Você pode obter um em cerca de 5 minutos sem gastar nada.
Resumo rápido:
- Abra gethttps.com/app/setup — sem instalação, sem conta
- Digite seu nome de domínio
- Verifique a propriedade do domínio (coloque um arquivo no servidor ou adicione um registro DNS)
- Baixe os arquivos do certificado
- Instale no seu servidor (Nginx, Apache, cPanel, WordPress, IIS)
Continue lendo para o guia completo com todos os detalhes.
Por que você precisa de um certificado SSL
Antes de comecar — se você esta se perguntando se seu site realmente precisa de SSL:
- Navegadores marcam sites HTTP como “Não seguro” — Chrome, Firefox e Edge mostram um aviso na barra de endereco. Visitantes vao embora.
- O Google usa HTTPS como sinal de ranqueamento — desde 2014. Sites HTTP ficam mais baixos nos resultados.
- Formularios e logins transmitem dados em texto simples sem HTTPS — qualquer pessoa na rede pode ler senhas, números de cartao de credito, dados pessoais.
- Páginas HTTP podem ser modificadas em transito — provedores de internet e atacantes podem injetar anuncios, rastreamento ou malware nas suas páginas.
- HTTPS é gratuito — não ha razao para não usar.
Se seu site já esta em HTTPS, você pode pular para renovação.
4 formas de obter um certificado SSL gratuito
| Método | Melhor para | Instalação | Renovação automatica | Tempo |
|---|---|---|---|---|
| GetHTTPS (navegador) | Qualquer pessoa — sem instalação, sem acesso ao servidor necessário | Manual | Não | 5 min |
| Seu provedor de hospedagem | Hospedagem compartilhada com cPanel/Plesk | Automatica | Geralmente sim | 2 min |
| Certbot (CLI) | Administradores de servidor com acesso root | Automatica | Sim | 10 min |
| Cloudflare (CDN) | Sites que já usam Cloudflare | Automatica | Sim | 5 min |
Este guia foca no Método 1 (GetHTTPS) porque funciona em qualquer lugar — hospedagem compartilhada, VPS, servidor dedicado ou qualquer plataforma onde você possa fazer upload de arquivos. Para outros métodos, veja os links acima.
Método 1: GetHTTPS (recomendado — funciona em qualquer lugar)
Pre-requisitos
- Um nome de domínio registrado apontando para um servidor que você controla
- Acesso a um dos seguintes (para verificação de domínio):
- Sistema de arquivos do seu servidor web — para colocar um arquivo de verificação (desafio HTTP-01)
- Configurações DNS do seu domínio — para adicionar um registro TXT (desafio DNS-01)
- Um navegador moderno — Chrome, Firefox, Edge ou Safari
Qual tipo de desafio devo usar? HTTP-01 e mais simples para a maioria das pessoas. DNS-01 é necessário para certificados wildcard (
*.example.com). Veja nosso guia HTTP-01 e guia DNS-01 para explicacoes detalhadas.
Passo 1: Abrir o GetHTTPS
Va para gethttps.com/app/setup.
O GetHTTPS gera automaticamente dois pares de chaves no seu navegador:
- Chave da conta — Um par de chaves ECDSA P-256 que identifica sua conta Let’s Encrypt. Assina todas as requisições ACME.
- Chave do certificado — O par de chaves para seu certificado SSL. ECDSA P-256 por padrão (recomendado) ou RSA 2048.
Ambas as chaves sao criadas usando a Web Crypto API embutida no seu navegador. Elas existem apenas na memória do navegador e nunca sao enviadas a nenhum servidor — nem mesmo ao nosso. Essa e a principal vantagem de privacidade sobre ferramentas como SSL For Free (que gera chaves no servidor) ou ZeroSSL (que pode gerar chaves no servidor dependendo do método).
Passo 2: Adicionar seus nomes de domínio
Digite o(s) domínio(s) que deseja proteger:
| O que você quer | O que digitar | Notas |
|---|---|---|
| Domínio único | example.com | Configuração mais básica |
| Domínio + www | example.com + www.example.com | Recomendado para a maioria dos sites |
| Wildcard | *.example.com | Cobre todos os subdomínios; requer DNS-01 |
| Múltiplos domínios | example.com + blog.example.com + shop.example.com | Certificado SAN |
Dica: Se você digitar example.com, o GetHTTPS sugere adicionar também www.example.com (e vice-versa). A maioria dos sites deve proteger ambos.
Passo 3: Completar a verificação de domínio
O Let’s Encrypt precisa verificar que você controla o domínio. Escolha um dos dois métodos:
Opcao A: Desafio HTTP-01 (mais simples, para a maioria das pessoas)
O Let’s Encrypt fornece um token. Você coloca um arquivo no seu servidor web em uma URL especifica.
- O GetHTTPS mostra um nome de arquivo e conteúdo do arquivo (uma string de token longa)
- Crie o arquivo no seu servidor:
http://seudominio.com/.well-known/acme-challenge/NOME_DO_ARQUIVO_TOKEN - O arquivo deve estar acessível via HTTP (porta 80) — mesmo se seu site já usa HTTPS
- Clique em Verify no GetHTTPS
Como criar o arquivo — por plataforma:
Acesso SSH (Nginx/Apache no Linux):
# Criar o diretorio (se não existir)
mkdir -p /var/www/html/.well-known/acme-challenge/
# Criar o arquivo de desafio — use os valores EXATOS do GetHTTPS
echo "CONTEUDO_DO_TOKEN_MOSTRADO_NO_GETHTTPS" > /var/www/html/.well-known/acme-challenge/NOME_DO_ARQUIVO_TOKEN
# Verificar se esta acessível
curl http://seudominio.com/.well-known/acme-challenge/NOME_DO_ARQUIVO_TOKEN
cPanel File Manager:
- Va para File Manager → navegue até
public_html - Crie a pasta
.well-known→ dentro dela, crieacme-challenge - Crie um novo arquivo com o nome do token, cole o conteúdo do token
- Certifique-se de que o arquivo e legivel publicamente (permissões 644)
FTP:
- Conecte via FTP a raiz do seu site
- Navegue até (ou crie)
.well-known/acme-challenge/ - Faça upload de um arquivo de texto com o nome do token contendo o conteúdo do token
Problema comum: Alguns servidores web não servem arquivos de
.well-knownpor padrão. Se você receber um erro 404, verifique a configuração do servidor. O Nginx pode precisar delocation ~ /\.well-known { allow all; }na configuração.
Opcao B: Desafio DNS-01 (necessário para wildcards)
Você adiciona um registro TXT as configurações DNS do seu domínio.
- O GetHTTPS mostra um nome do registro (ex.:
_acme-challenge.example.com) é um valor do registro (um hash longo) - Va ao seu provedor DNS e adicione o registro TXT
- Aguarde a propagação DNS (geralmente 1-5 minutos)
- Clique em Verify no GetHTTPS
Referencia rápida de provedores DNS:
| Provedor | Onde adicionar registro TXT | Configuração de TTL |
|---|---|---|
| Cloudflare | DNS → Records → Add record → Type: TXT | Auto |
| AWS Route 53 | Hosted zones → seu domínio → Create record → TXT | 300 |
| GoDaddy | DNS Management → Add → Type: TXT | 1 Hour |
| Namecheap | Domain List → Manage → Advanced DNS → Add new record → TXT | Automatic |
| Google Domains | DNS → Custom records → Manage → Create new record → TXT | Auto |
| DigitalOcean | Networking → Domains → seu domínio → Add record → TXT | 30 |
Nome do registro: _acme-challenge (alguns provedores adicionam seu domínio automaticamente, outros não — verifique a pre-visualizacao)
Valor do registro: A string hash mostrada no GetHTTPS (copie e cole exatamente)
Pre-verificação (recurso exclusivo do GetHTTPS)
Antes de enviar ao Let’s Encrypt, o GetHTTPS pre-verifica sua configuração de desafio a partir da internet pública via API DNS-over-HTTPS do Google. Isso detecta erros como:
- Conteúdo ou permissões de arquivo incorretos
- Arquivo não acessível na porta 80
- Registro DNS ainda não propagado
- Firewall bloqueando a requisição
- Proxy Cloudflare interceptando o desafio
Se a pre-verificação falhar, o GetHTTPS mostra exatamente o que esta errado — para que você possa corrigir antes de gastar uma tentativa de limite de taxa.
Este é um recurso que outras ferramentas baseadas em navegador não tem. SSL For Free e ZeroSSL enviam diretamente para a CA, e você só descobre erros depois.
Passo 4: Baixar os arquivos do certificado
Após todos os desafios serem aprovados, o Let’s Encrypt emite seu certificado. O GetHTTPS fornece quatro arquivos:
| Arquivo | O que e | Quando você precisa |
|---|---|---|
privkey.pem | Sua chave privada — mantenha em segredo! | Todo servidor |
cert.pem | Seu certificado SSL (apenas entidade final) | Apache, algumas configs |
chain.pem | Certificado intermediário da CA do Let’s Encrypt | Apache, algumas configs |
fullchain.pem | cert.pem + chain.pem combinados | Nginx, maioria dos servidores |
Baixe todos os quatro arquivos. Diferentes servidores precisam de diferentes combinacoes — ter todos os quatro significa que você esta coberto. Veja formatos de certificado explicados para detalhes.
Segurança: Armazene
privkey.pemde forma segura. Qualquer pessoa que tenha este arquivo pode se passar pelo seu site. Não envie por e-mail, não comite no Git, não coloque em uma pasta pública.
Passo 5: Instalar no seu servidor
Escolha sua plataforma:
| Plataforma | Guia | Arquivos de chave necessarios |
|---|---|---|
| Nginx | Guia completo → | fullchain.pem + privkey.pem |
| Apache | Guia completo → | cert.pem + chain.pem + privkey.pem |
| cPanel | Guia completo → | Cole o conteúdo dos tres arquivos |
| WordPress | Guia completo → | Depende da hospedagem (cPanel/Nginx/Apache) |
| Windows IIS | Guia completo → | Converter para PFX primeiro |
| Docker | Guia completo → | Monte fullchain.pem + privkey.pem |
| Plesk | Guia completo → | Cole o conteúdo dos tres arquivos |
| AWS | Guia completo → | Upload para EC2 ou importar para ACM |
| Node.js | Guia completo → | fullchain.pem + privkey.pem no código |
Instalação rápida — Nginx:
server {
listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/ssl/fullchain.pem;
ssl_certificate_key /etc/ssl/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
add_header Strict-Transport-Security "max-age=63072000" always;
root /var/www/html;
index index.html;
}
sudo nginx -t && sudo systemctl reload nginx
Instalação rápida — Apache:
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
SSLEngine on
SSLCertificateFile /etc/ssl/cert.pem
SSLCertificateKeyFile /etc/ssl/privkey.pem
SSLCertificateChainFile /etc/ssl/chain.pem
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder off
DocumentRoot /var/www/html
</VirtualHost>
sudo apachectl configtest && sudo systemctl reload apache2
Passo 6: Redirecionar HTTP para HTTPS
Force todo o trafego a usar a conexão criptografada. Sem isso, visitantes em http:// não se beneficiam do seu certificado.
Nginx:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
Apache (.htaccess):
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Guia completo de redirecionamento com www/sem www, cenarios de proxy e solução de problemas →
Passo 7: Verificar se tudo funciona
Verificação no navegador:
- Visite
https://seudominio.com - Clique no icone de cadeado → “Certificado” ou “A conexão e segura”
- Verifique: Emitido por “Let’s Encrypt”, expira em ~90 dias, domínio corresponde
Verificação por linha de comando:
# Mostrar detalhes do certificado
echo | openssl s_client -connect seudominio.com:443 -servername seudominio.com 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates
# Saida esperada:
# subject=CN=example.com
# issuer=C=US, O=Let's Encrypt, CN=R10
# notBefore=May 8 00:00:00 2026 GMT
# notAfter=Aug 6 00:00:00 2026 GMT
Verificação online: Digite seu domínio no SSL Labs Server Test para um relatorio abrangente cobrindo cadeia de certificados, suporte a protocolos, conjuntos de cifras e vulnerabilidades conhecidas.
Verificar conteúdo misto: Abra o DevTools do seu navegador (F12) → aba Console. Procure avisos de “Mixed Content” — estes sao recursos HTTP na sua página HTTPS. Como corrigir conteúdo misto →
Renovação
Os certificados Let’s Encrypt expiram após 90 dias. Renove antes do dia 60 para ter uma margem de segurança.
Com GetHTTPS (manual):
- Visite gethttps.com/app/setup novamente
- Re-digite seu(s) domínio(s) e complete um novo desafio
- Substitua os arquivos do certificado no seu servidor
- Recarregue seu servidor web (
sudo systemctl reload nginx)
Com Certbot (automatico): Se você quer renovação automatica, instale o Certbot no seu servidor. Muitas equipes usam GetHTTPS para o primeiro certificado e Certbot para renovação automatica continua.
Em breve: certificados de 47 dias. O CA/Browser Forum votou para reduzir a validade maxima dos certificados para 47 dias até 2029. O que isso significa para você →
Método 2: Seu provedor de hospedagem (mais facil se disponível)
Muitos hosts incluem SSL gratuito:
| Host | Como ativar | Renovação automatica |
|---|---|---|
| Hostinger | hPanel → Security → SSL | ✅ AutoSSL |
| SiteGround | Site Tools → Security → SSL Manager | ✅ |
| Bluehost | My Sites → Security → SSL | ✅ |
| Namecheap | cPanel → SSL/TLS Status | ✅ AutoSSL |
| GoDaddy | cPanel → SSL/TLS (se hospedagem cPanel) | ✅ |
| DigitalOcean | Sem opcao embutida — use Certbot ou GetHTTPS | ❌ |
| AWS | ACM para load balancers, Certbot para EC2 | ✅ (ACM) |
Se seu host fornece SSL gratuito, use-o — e o caminho mais simples. Se não (ou se você quer mais controle), use GetHTTPS.
Método 3: Certbot (para administradores de servidor)
O Certbot é uma ferramenta CLI que automatiza certificados Let’s Encrypt no seu servidor. Requer acesso root.
# Instalar (Ubuntu)
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
# Obter certificado + configurar Nginx automaticamente
sudo certbot --nginx -d example.com -d www.example.com
# Renovação automatica e configurada automaticamente
sudo systemctl list-timers | grep certbot
Comparacao completa GetHTTPS vs Certbot →
Método 4: Cloudflare (SSL baseado em proxy)
Se você usa Cloudflare como CDN, o Universal SSL esta incluido gratuitamente. Mas entenda: SSL Cloudflare significa que seu trafego e descriptografado na borda do Cloudflare, não no seu servidor. Isso e aceitavel para você? →
Solução de problemas
Arquivo de desafio retorna 404
- Verifique o caminho: O arquivo deve estar exatamente em
/.well-known/acme-challenge/TOKEN— não em um subdiretorio - Verifique permissões: O arquivo deve ser legivel pelo servidor web (chmod 644)
- Nginx: Adicione
location ~ /\.well-known { allow all; }se sua config bloqueia dotfiles - Cloudflare: Temporariamente mude o DNS para “DNS only” (nuvem cinza) durante o desafio HTTP-01
- cPanel: Certifique-se de que
.well-knownnão esta oculto — alguns gerenciadores de arquivo ocultam diretorios com ponto
Registro DNS não encontrado
- Aguarde mais — alguns provedores DNS levam de 5 a 15 minutos para propagar
- Verifique o nome do registro: Deve ser
_acme-challenge(sem seu domínio adicionado, ou com ele — depende do provedor). A pre-verificação do GetHTTPS confirma. - Verifique o tipo do registro: Deve ser TXT, não CNAME ou A
- Verifique manualmente:
dig TXT _acme-challenge.seudominio.com +short
Erro “Too many requests” / limite de taxa
O Let’s Encrypt permite 50 certificados por domínio registrado por semana. Se você atingir esse limite:
- Aguarde uma semana e tente novamente
- Use o ambiente de staging para testes (GetHTTPS usa staging por padrão em desenvolvimento)
- Pre-verifique seus desafios antes de enviar para evitar tentativas desperdicadas
Navegador mostra “Não seguro” após instalação
- Certificado não instalado: Verifique se a configuração do servidor aponta para os arquivos corretos
- Conteúdo misto: Sua página carrega recursos HTTP. Guia de correcao →
- Redirecionamento não ativo: Trafego HTTP não esta sendo redirecionado para HTTPS. Guia de redirecionamento →
- Certificado expirado: Verificar expiração →
Erro “Cadeia de certificados incompleta”
Você esta usando cert.pem em vez de fullchain.pem (Nginx) ou falta SSLCertificateChainFile (Apache). O servidor precisa do certificado intermediário para provar a cadeia de confiança.
Por que GetHTTPS em vez de outras ferramentas gratuitas?
| Recurso | GetHTTPS | ZeroSSL | SSL For Free | Certbot |
|---|---|---|---|---|
| Instalação | Nenhuma (navegador) | Nenhuma (web) | Nenhuma (web) | Instalação CLI necessária |
| Chave privada | Gerada no navegador (Web Crypto) | ⚠️ Pode ser gerada no servidor | ⚠️ Gerada no servidor | Gerada no servidor |
| Limite de cert gratuito | Ilimitado | 3 | 3 | Ilimitado |
| Wildcard (gratuito) | ✅ | ❌ (pago) | ❌ | ✅ |
| Renovação automatica | ❌ | ❌ | ❌ | ✅ |
| Pre-verificação | ✅ | ❌ | ❌ | ❌ |
| Código aberto | Não | Não | Não | Sim (Apache 2.0) |
| Direto ao Let’s Encrypt | ✅ | Via ZeroSSL | Via ZeroSSL | ✅ |
Comparacao completa de todos os provedores SSL gratuitos →
Perguntas frequentes
Realmente posso obter um certificado SSL de graca?
Sim. O Let’s Encrypt é uma Autoridade Certificadora sem fins lucrativos apoiada pela Mozilla, Google, EFF e outros. Emite certificados gratuitos de válidação de domínio (DV) — o mesmo tipo pelo qual muitas empresas pagam $50-200/ano. Mais de 300 milhoes de sites usam Let’s Encrypt, com 63,9% de participacao de mercado global entre CAs.
Um certificado SSL gratuito e tao seguro quanto um pago?
Sim. Todos os certificados SSL — gratuitos ou pagos — usam a mesma criptografia TLS. Um certificado DV gratuito do Let’s Encrypt fornece forca de criptografia identica a um certificado EV de $500 da DigiCert. A unica diferenca e o nível de válidação (o que a CA verifica sobre sua identidade), não a criptografia. Comparacao detalhada →
Quanto tempo dura um certificado SSL gratuito?
Os certificados Let’s Encrypt sao validos por 90 dias. Essa validade curta e intencional — limita danos se uma chave for comprometida e incentiva automacao. Renove no dia 60 para ter margem de segurança. Nota: até 2029, todos os certificados serao limitados a 47 dias.
Preciso de acesso SSH/root ao meu servidor?
Não com GetHTTPS. Você precisa da capacidade de:
- Colocar um arquivo no seu servidor web (via FTP, cPanel File Manager ou qualquer método) — para HTTP-01
- Adicionar um registro DNS (via seu registrador de domínio ou provedor DNS) — para DNS-01
Se você não tem acesso algum, verifique se seu provedor de hospedagem oferece SSL gratuito pelo painel de controle.
Posso obter um certificado wildcard de graca?
Sim. O GetHTTPS suporta certificados wildcard (*.example.com) usando o desafio DNS-01. Este é um recurso que muitos concorrentes (ZeroSSL, SSL For Free) restringem a planos pagos. Você precisara de acesso as configurações DNS do seu domínio.
Posso proteger múltiplos domínios com um certificado?
Sim. Digite todos os seus domínios no GetHTTPS — até 100 nomes por certificado. Isso cria um certificado SAN (multi-domínio). Cada domínio precisa de sua própria verificação de desafio.
Qual a diferenca entre desafios HTTP-01 e DNS-01?
HTTP-01: Você coloca um arquivo no seu servidor. Mais simples, funciona para domínios unicos. Requer acesso a porta 80. DNS-01: Você adiciona um registro TXT ao seu DNS. Necessário para wildcards. Funciona mesmo se a porta 80 estiver bloqueada. Guia detalhado HTTP-01 → | Guia DNS-01 →
O que acontece se meu certificado expirar?
Os navegadores mostram um aviso de segurança em tela cheia (“Sua conexão não é particular”). Visitantes não podem acessar seu site com segurança, e mecanismos de busca podem desindexar suas páginas. Como verificar expiração → | Como renovar →
Posso mudar do GetHTTPS para o Certbot (ou vice-versa)?
Sim. Os arquivos de certificado sao formato PEM padrão. Você pode gerar o primeiro certificado com GetHTTPS e depois instalar o Certbot para renovação automatica. Ou usar o Certbot inicialmente e mudar para GetHTTPS quando precisar de uma re-emissão rápida sem acesso ao servidor. As ferramentas não entram em conflito.