Obtenir le HTTPS avec Let's Encrypt SSL

L'outil Let's encrypt SSL de cPanel permet d'installer un certificat SSL gratuit reconnu délivré par l'autorité de certificat Let's Encrypt.

Le projet Let's Encrypt est une autorité de certification, assez récente, qui fournit des certificats SSL gratuitement. La particularité des certificats Let's Encrypt est qu'ils sont très bien reconnus et permettent d'avoir le cadenas vert dans la barre d'adresse du navigateur, sans message d'erreur. Le projet vise à démocratiser l'usage de connexions chiffrées sur internet.

En résumé, c'est l'outil à utiliser si vous souhaitez que votre site réponde sur la version HTTPS sans erreurs, ni avertissement de sécurité, sur votre hébergement web.

Icône Nom Catégorie Description
Let's Encrypt SSL Sécurité Permet d'installer des certificats SSL gratuits délivrés par l'autorité de certificat Let's Encrypt

Dans ce tutoriel vidéo, nous voyons comment activer simplement un certificat Let's Encrypt sur un des domaines hébergés. Nous voyons également comment passer outre les deux erreurs les plus courantes.

Il est très simple d'activer un certificat Let's Encrypt sur cPanel. Dans un premier temps, il faut vous rendre dans l'outil Let's Encrypt de cPanel puis cliquer sur le lien Générer en face du domaine sur lequel vous souhaitez installer le certificat.

Première étape de l'activation d'un certificat let's encrypt

Première étape de l'activation d'un certificat let's encrypt : sélection du domaine

Ensuite, vous avez quelques options et choix possibles

  • Inclure les sous-domaines cPanel? : permet de générer le certificat SSL sur les sous domaines spéciaux, comme cpanel.domaine.com par exemple. Ce n'est pas nécessaire de le cocher.
  • Méthode de validation : permet de choisir la méthode de validation que va choisir Let's Encrypt pour valider que vous êtes bien le propriétaire du domaine. Il y a deux méthodes, la méthode http qui est la méthode par défaut et recommandé. Avec cette méthode, Let's Encrypt va aller vérifier qu'un fichier, généré automatiquement par notre outil, existe bien sur votre site internet. Il y a ensuite la méthode DNS. Cette méthode là implique que vous devez utiliser nos serveurs DNS sur le nom de domaine. A la place d'aller chercher à un fichier généré automatiquement, cela va aller vérifier l'existence d'une entrée DNS générée automatiquement.
  • Sous-domaines : vous avez également la possibilité d'inclure des sous-domaines au certificat, laissez les valeurs par défauts qui consistent à ajouter les www et mail. Attention, n'incluez pas les domaines se terminant par odns.fr, o2switch.net ou universe.wf, cela générera des erreurs.
  • Générer la simulation : en cas d'erreurs, il ne faut pas insister sinon vous allez atteindre les limites de requêtes de Let's Encrypt. En cas d'erreur, vous pouvez utiliser le bouton de simulation pour voir si la validation Let's encrypt passe ou non. Cela vous évite d'utiliser votre crédit de requêtes légitimes vers Let's Encrypt. A utiliser que lorsque vous avez une erreur, pour faire des tests et du debug.

Activation du certificat SSL sur un ou plusieurs domaines

Activation du certificat SSL sur un ou plusieurs domaines

Si tout se passe bien, un message apparaît indiquant que le certificat SSL a bien été installé.

Le certificat a été installé correctement

Le certificat a été installé correctement

Le site répond correctement en HTTPs, le certificat est bien détecté par le navigateur en HTTPs. Certificat Let's Encrypt actif

Certificat Let's Encrypt actif

Il est possible de générer des certificats SSL Wildcard avec l'outil Let's Encrypt d'o2switch. Pour générer un certificat SSL Wildcard, il faut :

  1. Il faut créer un sous domaine Wildcard. Il suffit de se rendre dans l'outil sous-domaine et de créer un sous domaine ayant comme nom *
  2. Dans Let's Encrypt, il faut choisir ce sous-domaine Wildcard dans la liste des domaines proposés
  3. Sur la page des préférences de génération du certificat SSL, il faut impérativement choisir la méthode de validation DNS. C'est la seule méthode qui permet d'obtenir un certificat SSL Wildcard. Cela implique également que le domaine doit impérativement utiliser nos serveurs DNS.

Génération d'un certificat SSL Wildcard

Génération d'un certificat SSL Wildcard sur un hébergement o2switch

Installation du certificat SSL

Le fait d'avoir un certificat SSL Wildcard ne veut pas automatiquement dire que tous les sous-domaines pouvant bénéficier de ce Wildcard l'auront d'installé de base. C'est une subtilité de cPanel, qu'il est plus facile de comprendre avec un exemple :
  • Vous avez un sous domaine *.mondomaine.tld sur lequel vous avez généré un Wildcard avec Let's encrypt
  • Vous avez également un autre sous-domaine, définie manuellement dans l'outil sous domaine de cPanel : sous-domaine.mondomaine.tld
  • Par défaut, sous-domaine.mondomaine.tld ne bénéficiera pas du certificat SSL Wildcard de *.mondomaine.tld
  • Si vous souhaitez que sous-domaine.mondomaine.tld ait un certificat SSL valide installé, il faut :
    • Soit générer un certificat SSL sur ce sous domaine avec Let's Encrypt
    • Soit installer le certificat SSL Wildcard, sur ce sous-domaine, avec l'outil ssl/tls de cPanel

Il y a une différence entre avoir un certificat Wildcard à disposition et le fait qu'il soit installé sur les sous-domaines.

Il est possible de recevoir des alertes de la part de l'outil Let's Encrypt sur cPanel ! C'est notamment pratique pour suivre les renouvellements automatiques de certificats SSL et en cas de problème agir avant que le certificat expire.

Dans un premier temps, il faut aller définir votre adresse email dans la partie coordonnées de cPanel, accessible en cliquant sur votre identifiant en haut à droite puis en allant dans Coordonnées. Sur la page suivante, il faut renseigner son adresse email et cocher les préférences de contacts.

Définition de l'adresse email de contact dans cPanel

Configuration des préférences de contact de cPanel

Ensuite, il faut aller dans l'outil Let's Encrypt, puis cliquer sur les préférences pour vérifier que les notifications de renouvellement n'ont pas été désactivées.

Notification de renouvellement de certificat SSL

Configuration des emails d'alertes de renouvellement de SSL

Il y a trois erreurs courantes lors de l'activation d'un certificat SSL :

  • la première erreur se produit lorsque let's encrypt ne peut pas vérifier que vous êtes le propriétaire du site
  • la seconde erreur arrive si vous avez dépassé le quota imposé par let's encrypt
  • vous essayez d'activer un certificat SSL sur un domaine qui a été défini en alias, donc lié au domaine de référence de l'hébergement

Lors de la demande d'un certificat let's encrypt, ce dernier vérifie que vous êtes bien le propriétaire du nom de domaine. Pour vérifier cela, let's encrypt a besoin d'aller vérifier qu'un fichier existe dans le répertoire .well-known à la racine du nom de domaine. Ce fichier est automatiquement créé par l'outil Let's Encrypt de cPanel et prouve que vous êtes bien le propriétaire du domaine.

Lorsqu'un site est protégé par une authentification basique (via un .htaccess) ou lorsqu'il y a des redirections en place, cela génère une erreur indiquant que Let's Encrypt est dans l'incapacité de vérifier que la demande est légitime. L'une des deux erreurs suivantes s'affiche :

Erreur indiquant que Let's Encrypt ne peut pas vérifier que vous êtes le propriétaire à cause de l'authentification basique

Erreur indiquant que Let's Encrypt ne peut pas vérifier que vous êtes le propriétaire à cause de l'authentification basique

The Let's Encrypt HTTP challenge failed: acme error 'urn:acme:error:unauthorized': Invalid response from http://mon-tuto.com/.well-known/acme-challenge/ZwX0175cq5EA1-V6su-kKaTDuyYXKsjbRFsHrt2gVNY [109.234.162.16]: 401

Erreur indiquant que Let's Encrypt ne peut pas vérifier que vous êtes le propriétaire à cause d'une redirection

Erreur indiquant que Let's Encrypt ne peut pas vérifier que vous êtes le propriétaire à cause d'une redirection

The Let's Encrypt HTTP challenge failed: acme error 'urn:acme:error:unauthorized': Error parsing key authorization file: Invalid key authorization: 147 parts

Pour remédier à ces deux erreurs, il faut rendre le dossier .well-known accessible à Let's Encrypt, une manière de faire cela est de placer un fichier .htaccess dans le répertoire .well-known avec les règles suivantes :

Contenu de .well-known/.htaccess
RewriteEngine off
Order Deny,Allow
Allow from all
Satisfy any

Vous pouvez également essayer de changer la méthode de validation pour utiliser la validation DNS à la place (implique que le domaine doit utiliser les DNS o2switch).

La deuxième erreur est liée aux restrictions (rate limit) mises en place par Let's Encrypt. Ces limites sont mises en place par Let's Encrypt pour éviter les abus et conserver la stabilité du service. Let's Encrypt évoque cela dans cet article.

Lorsque vous atteignez l'une de ces limites, l'erreur suivante apparaît :

Erreur liée aux limitations de Let's Encrypt

Erreur liée aux limitations de Let's Encrypt

Error during certificate generation: acme error 'rateLimited': Error creating new cert :: Too many certificates already issued for exact set of domains: mon-tuto.com

Si vous rencontrez cette erreur, il faut être patient et attendre quelques jours (une semaine même) avant de tenter à nouveau l'opération.

Lorsque les noms de domaines sont définies en alias sur cPanel, ils sont automatiquement liés à l'adresse de référence du compte d'hébergement.

L'adresse de référence est l'adresse de la forme identifiant.odns.fr qui est fourni avec l'hébergement. Le problème avec cette adresse est que la limite Let's Encrypt est constamment atteinte et donc il est impossible de générer un certificat SSL Let's Encrypt sur une adresse qui se termine par odns.fr. La validation échouera systématiquement.

Lorsqu'un domaine est définie en alias sur cPanel, il est lié à l'adresse de référence, donc il devient impossible de générer un certificat SSL Let's Encrypt pour ce domaine.

La solution consiste à :

  1. Supprimer le nom de domaine de l'outil alias
  2. Re-définir le domaine avec l'outil domaine supplémentaire en prenant de garde de mettre public_html comme racine du document (afin de reproduire la même configuration que l'alias)
  3. A présent le domaine s'affiche de manière distincte dans l'outil Let's Encrypt, il est possible de générer un certificat SSL dessus sans être embêté avec l'adresse de référence

Exemple de reconfiguration d'un domaine avec l'outil domaine supplémentaire

Passage d'un domaine d'un alias en domaine supplémentaire

  • Dernière modification: il y a 3 ans
  • de o2switch