>> Technologie Électronique >  >> Maison intelligente >> Sécurité domestique

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

  1. Login → Gérer site web → Certificat SSL (ou « Sécurité » → « SSL »).
  2. Choisissez « Télécharger certificat personnalisé ».
  3. Collez contenu de fullchain.cer → champ Certificat.
  4. Collez contenu de yourdomain.com.key → champ Clé privée.
  5. Laissez CA Bundle vide (inclus dans fullchain).
  6. 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.

Sécurité domestique