>> Tecnologia Eletrônica >  >> Casa Inteligente >> Segurança Residencial

Como Ativar HTTPS (SSL) no 000webhost com Let's Encrypt (Grátis)

O plano gratuito do 000webhost não inclui SSL/HTTPS integrado (sem cPanel, sem AutoSSL). Você deve obter certificado da Let's Encrypt via desafio DNS-01 (já que não tem acesso root ao servidor para HTTP-01) e instalar manualmente no painel de controle.

🔧 Pré-requisitos

  • Domínio próprio apontado para 000webhost (A record → 145.14.144.110 / CNAME → seudominio.000webhostapp.com).
  • Acesso ao gerenciamento DNS do domínio (Cloudflare, GoDaddy, Namecheap, etc.).
  • Cliente ACME: acme.sh (recomendado, shell puro) ou Certbot (precisa root).

📜 Método: acme.sh DNS-01 (Funciona em Qualquer Hospedagem)

1. Instale acme.sh (na sua máquina local / VPS / Cloud Shell)

curl https://get.acme.sh | sh -s email=voce@exemplo.com
source ~/.bashrc

2. Configure API DNS (Exemplo: Cloudflare)

export CF_Token="sua_chave_api_global"
export CF_Account_ID="seu_account_id"
# Ou use Token com escopo de zona (recomendado): Zone:Read, DNS:Edit

Outros provedores: `export GD_Key/Secret` (GoDaddy), `export DP_Id/Key` (Dynadot), etc. Veja lista de APIs DNS do acme.sh.

3. Emita Certificado (Wildcard + Raiz)

acme.sh --issue --dns dns_cf -d seudominio.com -d "*.seudominio.com" --keylength ec-256
  • Saída: `~/.acme.sh/seudominio.com_ecc/` contém `fullchain.cer` (cert + chain) e `seudominio.com.key` (chave privada).
  • Válido 90 dias. Auto-renovação via cron (acme.sh instala).

4. Instale no Painel 000webhost

  1. Login → Gerenciar Site → Certificado SSL (ou "Segurança" → "SSL").
  2. Escolha "Enviar Certificado Personalizado".
  3. Cole conteúdo de fullchain.cer → campo Certificado.
  4. Cole conteúdo de seudominio.com.key → campo Chave Privada.
  5. Deixe CA Bundle vazio (incluído no fullchain).
  6. Salve. Aguarde 5-15 min para propagação.

5. Force HTTPS e Verifique

  • No painel 000webhost: Ative "Force HTTPS" / "SSL Redirect" se disponível.
  • Ou adicione ao `.htaccess` em `public_html`:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
  • Teste: SSL Labs (deve dar A+), Security Headers.

⚠️ Limitações no 000webhost Gratuito

  • Sem HTTP/2, Sem Brotli, Sem OCSP Stapling (config do servidor travada).
  • Certificado deve ser reenviado manualmente a cada 90 dias (ou script API se expuserem — não expõem).
  • Sem suporte SNI para clientes muito antigos (IE/XP) — irrelevante.

💡 Alternativa Gratuita Melhor: Cloudflare Pages / Netlify / GitHub Pages

Sites estáticos: Deploy no Cloudflare Pages → SSL Universal Grátis (auto-renovação, HTTP/3, WAF, CDN, Edge). Dinâmico: Cloudflare Workers + D1/KV. 000webhost é obsoleto para HTTPS moderno.