Comment activer HTTPS (SSL) sur 000webhost avec Let's Encrypt (Gratuit)
Le tier gratuit de 000webhost n'inclut pas SSL/HTTPS intégré (pas de cPanel, pas d'AutoSSL). Vous devez obtenir un certificat depuis Let's Encrypt via défi DNS-01 (puisque vous n'avez pas accès root serveur pour HTTP-01) et l'installer manuellement via leur panneau de contrôle.
🔧 Prérequis
- Domaine personnalisé pointé vers 000webhost (enregistrement A → 145.14.144.110 / CNAME → yoursub.000webhostapp.com).
- Accès gestion DNS du domaine (Cloudflare, GoDaddy, Namecheap, etc.).
- Client ACME : acme.sh (recommandé, shell pur) ou Certbot (nécessite root).
📜 Méthode : acme.sh DNS-01 (Marche sur tout hébergement)
1. Installez acme.sh (sur votre machine locale / VPS / Cloud Shell)
curl https://get.acme.sh | sh -s email=you@example.com source ~/.bashrc
2. Configurez API DNS (Exemple : Cloudflare)
export CF_Token="votre_clé_api_globale" export CF_Account_ID="votre_account_id" # Ou utilisez Token API scoped Zone (recommandé) : Zone:Read, DNS:Edit
Autres fournisseurs : `export GD_Key/Secret` (GoDaddy), `export DP_Id/Key` (Dynadot), etc. Voir liste API DNS acme.sh.
3. Émettez le certificat (Wildcard + Racine)
acme.sh --issue --dns dns_cf -d yourdomain.com -d "*.yourdomain.com" --keylength ec-256
- Sortie : `~/.acme.sh/yourdomain.com_ecc/` contient `fullchain.cer` (cert + chaîne) et `yourdomain.com.key` (clé privée).
- Valide 90 jours. Auto-renouvellement via cron (acme.sh l'installe).
4. Installez dans panneau 000webhost
- Login → Gérer site web → Certificat SSL (ou « Sécurité » → « SSL »).
- Choisissez « Télécharger certificat personnalisé ».
- Collez contenu de
fullchain.cer→ champ Certificat. - Collez contenu de
yourdomain.com.key→ champ Clé privée. - Laissez CA Bundle vide (inclus dans fullchain).
- Sauvegardez. Attendez 5-15 min pour propagation.
5. Forcez HTTPS et vérifiez
- Dans panneau 000webhost : Activez « Forcer HTTPS » / « Redirection SSL » si dispo.
- Ou ajoutez à `.htaccess` dans `public_html` :
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] - Test : SSL Labs (devrait avoir A+), Security Headers.
⚠️ Limitations 000webhost Gratuit
- Pas HTTP/2, Pas Brotli, Pas OCSP Stapling (config serveur verrouillée).
- Certificat doit être ré-uploadé manuellement tous les 90 jours (ou script API s'ils en exposent un — ils ne le font pas).
- Pas de support SNI pour très vieux clients (IE/XP) — sans importance.
💡 Meilleure alternative gratuite : Cloudflare Pages / Netlify / GitHub Pages
Sites statiques : Déployez sur Cloudflare Pages → SSL Universel gratuit (auto-renouvellement, HTTP/3, WAF, CDN, Edge). Dynamique : Cloudflare Workers + D1/KV. 000webhost est obsolète pour HTTPS moderne.
