Come Abilitare HTTPS (SSL) su 000webhost Usando Let's Encrypt (Gratis)
Il piano gratuito di 000webhost non include SSL/HTTPS integrato (nessun cPanel, nessun AutoSSL). Devi ottenere un certificato da Let's Encrypt tramite challenge DNS-01 (poiché non hai accesso root al server per HTTP-01) e installarlo manualmente tramite il loro pannello di controllo.
🔧 Prerequisiti
- Dominio personalizzato puntato a 000webhost (A record → 145.14.144.110 / CNAME → tuosub.000webhostapp.com).
- Accesso alla gestione DNS del dominio (Cloudflare, GoDaddy, Namecheap, ecc.).
- Client ACME: acme.sh (consigliato, puro shell) o Certbot (richiede root).
📜 Metodo: acme.sh DNS-01 (Funziona su Qualsiasi Hosting)
1. Installa acme.sh (sul tuo computer locale / VPS / Cloud Shell)
curl https://get.acme.sh | sh -s email=tuo@esempio.com source ~/.bashrc 2. Configura API DNS (Esempio: Cloudflare)
export CF_Token="la_tua_chiave_api_globale" export CF_Account_ID="il_tuo_id_account" # Oppure usa Zone-scoped API Token (consigliato): Zone:Read, DNS:Edit Altri provider: `export GD_Key/Secret` (GoDaddy), `export DP_Id/Key` (Dynadot), ecc. Vedi elenco DNS API di acme.sh.
3. Emetti Certificato (Wildcard + Root)
acme.sh --issue --dns dns_cf -d tuodominio.com -d "*.tuodominio.com" --keylength ec-256 - Output: `~/.acme.sh/tuodominio.com_ecc/` contiene `fullchain.cer` (certificato + catena) e `tuodominio.com.key` (chiave privata).
- Valido 90 giorni. Rinnovo automatico tramite cron (acme.sh lo installa).
4. Installa nel Pannello di Controllo di 000webhost
- Accedi → Gestisci Sito Web → Certificato SSL (o "Sicurezza" → "SSL").
- Scegli "Carica Certificato Personalizzato".
- Incolla il contenuto di `fullchain.cer` → campo Certificato.
- Incolla il contenuto di `tuodominio.com.key` → campo Chiave Privata.
- Lascia vuoto il CA Bundle (incluso in fullchain).
- Salva. Attendi 5-15 min per la propagazione.
5. Forza HTTPS e Verifica
- Nel pannello di 000webhost: Abilita "Forza HTTPS" / "Redirect SSL" se disponibile.
- Oppure aggiungi a `.htaccess` in `public_html`:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] - Test: SSL Labs (dovresti ottenere A+), Security Headers.
⚠️ Limitazioni su 000webhost Gratuito
- Nessun HTTP/2, Nessun Brotli, Nessun OCSP Stapling (configurazione server bloccata).
- Il certificato deve essere ricaricato manualmente ogni 90 giorni (o script API se ne espongono una — non lo fanno).
- Nessun supporto SNI per client molto vecchi (IE/XP) — irrilevante.
💡 Migliore Alternativa Gratuita: Cloudflare Pages / Netlify / GitHub Pages
Siti statici: Distribuisci su Cloudflare Pages → SSL Universale Gratuito (rinnovo automatico, HTTP/3, WAF, CDN, Edge). Dinamico: Cloudflare Workers + D1/KV. 000webhost è obsoleto per HTTPS moderno.