Erreur « Votre connexion n'est pas privée » / NET::ERR_CERT et ses solutions

Lorsque vous voyez dans le navigateur l'erreur « Votre connexion n'est pas privée » ou NET::ERR_CERT_..., le site ne s'ouvre pas et les visiteurs prennent peur. Dans cet article, nous traitons les causes les plus fréquentes de cette erreur et la solution précise de chacune. Regardez d'abord le code d'erreur ; il pointe directement vers le problème.

Lisez le code d'erreur

Sur les navigateurs basés sur Chrome, un code figure sous le message d'erreur. Les plus courants :

  • NET::ERR_CERT_DATE_INVALID → le certificat est expiré (ou l'horloge de l'appareil est incorrecte).
  • NET::ERR_CERT_AUTHORITY_INVALID → la chaîne intermédiaire est manquante ou l'autorité n'est pas de confiance.
  • NET::ERR_CERT_COMMON_NAME_INVALID → le certificat ne correspond pas au nom de domaine (par ex. www non couvert).

Cause 1 — Certificat expiré

C'est la cause la plus fréquente. Les certificats gratuits sont valables 90 jours ; oublier de les renouveler provoque cette erreur. Vérifiez la date de validité depuis le terminal :

echo | openssl s_client -connect alanadiniz.com:443 -servername alanadiniz.com 2>/dev/null | openssl x509 -noout -dates

Si la date notAfter est passée, le certificat est expiré. Solution : créez un nouveau certificat avec notre assistant SSL gratuit, téléchargez le ZIP, écrasez les anciens fichiers sur votre serveur, puis rechargez le service.

Si l'erreur n'apparaît que sur votre appareil, le problème vient très probablement d'une horloge système incorrecte. Réglez la date et l'heure de l'appareil en mode automatique (NTP).

Image : <écran d'avertissement « Votre connexion n'est pas privée » de Chrome>
L'erreur NET::ERR_CERT provient le plus souvent d'un problème de date ou de chaîne.

Cause 2 — Chaîne intermédiaire manquante (intermediate)

N'installer que certificate.crt sur le serveur en oubliant d'ajouter le CA Bundle / la chaîne intermédiaire est la cause classique de cette erreur. Le plus curieux est que le site s'ouvre sur certains navigateurs et renvoie ERR_CERT_AUTHORITY_INVALID sur d'autres ; en effet, certains systèmes peuvent compléter le certificat intermédiaire depuis leur cache, alors que les navigateurs mobiles ne le peuvent pas.

Solution — selon le serveur :

  • Nginx : pour ssl_certificate, utilisez fullchain.pem et non certificate.crt seul.
  • Apache : définissez ca_bundle.crt dans la directive SSLCertificateChainFile.
  • cPanel : dans le gestionnaire SSL/TLS, remplissez le champ CA Bundle avec le contenu de ca_bundle.crt.

Pour vérifier que la chaîne est servie intégralement :

echo | openssl s_client -connect alanadiniz.com:443 -servername alanadiniz.com -showcerts

Dans la sortie, vous devez voir plusieurs blocs BEGIN CERTIFICATE, du certificat jusqu'au certificat intermédiaire. S'il n'y a qu'un seul bloc, la chaîne est incomplète.

Cause 3 — Non-correspondance du nom de domaine

ERR_CERT_COMMON_NAME_INVALID indique que le certificat ne couvre pas le nom demandé. Le scénario le plus fréquent : le certificat a été obtenu uniquement pour alanadiniz.com, mais le visiteur accède à www.alanadiniz.com. Solution : lors d'une nouvelle obtention du certificat, cochez dans l'assistant l'option « Inclure aussi le sous-domaine www » ; ainsi, les deux noms sont couverts.

Cause 4 — Contenu mixte (mixed content)

Même si la page elle-même est en HTTPS, si certaines de ses ressources (image, script, style) sont encore chargées en http://, le navigateur affiche un avertissement au lieu du cadenas et peut bloquer les scripts. Vous trouverez la solution détaillée à ce sujet dans notre guide sur le contenu mixte ; la solution rapide consiste à passer toutes les adresses de ressources en https://.

Liste de vérification rapide

  1. Lisez le code d'erreur (DATE / AUTHORITY / COMMON_NAME).
  2. Vérifiez la validité du certificat avec openssl ... -dates.
  3. Vérifiez la chaîne avec -showcerts ; si elle est incomplète, ajoutez le CA Bundle.
  4. Vérifiez si www ou d'autres noms de domaine sont couverts.
  5. Testez l'horloge de l'appareil et le cache (onglet privé).

Résumé

La grande majorité des erreurs NET::ERR_CERT reposent sur trois causes : certificat expiré, chaîne intermédiaire manquante et non-correspondance du nom de domaine. Lisez le code d'erreur et appliquez la solution correspondante. Pour renouveler le certificat ou inclure www, vous pouvez utiliser notre assistant SSL gratuit, et pour une chaîne manquante, charger le fichier fullchain.pem ou ca_bundle.crt du ZIP.