Comment corriger facilement l’erreur « SSL Handshake Failed »

TL;DR: L’erreur « SSL Handshake Failed » apparaît lorsqu’un navigateur et un serveur ne parviennent pas à s’accorder sur les paramètres de sécurité nécessaires à l’ouverture d’une connexion chiffrée. Les causes les plus fréquentes sont un certificat SSL expiré, une horloge d’appareil incorrecte, un navigateur obsolète ou une incompatibilité de version du protocole TLS. Si l’erreur apparaît sur tous les sites HTTPS, commencez par la Correction 1 (date et heure). Si elle se limite à un seul site, commencez par la Correction 2 (vérification du certificat).

Causes courantes de l’erreur « SSL Handshake Failed »

Le handshake SSL/TLS est une brève négociation qui se produit avant chaque connexion HTTPS. Votre navigateur et le serveur doivent s’accorder sur une version de protocole, une suite de chiffrement et la validité du certificat du serveur. Lorsqu’une partie de cette négociation échoue, la connexion ne peut pas être établie. Les raisons les plus courantes sont les suivantes :

  • Paramètres de date et d’heure incorrects : les certificats SSL ne sont valides que dans une fenêtre temporelle fixe. Si l’horloge de votre appareil est décalée ne serait-ce que de quelques heures, le navigateur considère le certificat comme expiré ou pas encore valide, même si le certificat lui-même est correct.
  • Navigateur obsolète : les navigateurs qui ne prennent pas en charge les versions TLS ou les suites de chiffrement modernes ne peuvent pas se connecter aux serveurs qui les exigent. Les extensions de navigateur qui interceptent le trafic peuvent produire le même résultat.
  • Certificat SSL expiré ou incompatible : un certificat dont la date d’expiration est dépassée, ou émis pour le mauvais domaine, provoque immédiatement l’échec du handshake.
  • Incompatibilité de version de protocole : le client et le serveur doivent s’accorder sur une version de TLS. Les serveurs qui utilisent encore TLS 1.0 ou 1.1 sont rejetés par tous les navigateurs actuels, qui exigent au moins TLS 1.2. D’après les tickets de support WP STAGING, les configurations TLS de serveur obsolètes figurent parmi les causes côté serveur les plus fréquentes que nous rencontrons.
  • Incompatibilité de suite de chiffrement : même lorsque les versions de TLS concordent, le serveur doit proposer au moins une suite de chiffrement que le navigateur accepte. Les serveurs plus anciens dont la liste de chiffrements est courte ou obsolète se heurtent souvent à cette barrière sans erreur évidente côté serveur.
  • Interférence d’un pare-feu ou d’un antivirus : certains logiciels de sécurité interceptent les connexions HTTPS et les resignent avec leur propre certificat. Si ce certificat n’est pas reconnu par le navigateur, ou si le processus d’inspection supprime des suites de chiffrement, le handshake échoue.

Comment diagnostiquer le problème

Faire correspondre votre symptôme à la cause la plus probable avant d’appliquer des corrections permet de gagner un temps précieux :

Symptôme Cause la plus probable Première correction
Erreur sur tous les sites HTTPS Horloge de l’appareil erronée, ou navigateur obsolète Correction 1 (date/heure) ou Correction 3 (mise à jour du navigateur)
Erreur sur un seul site spécifique Certificat expiré ou mal configuré sur ce serveur Correction 2 (vérification du certificat)
Erreur apparue après l’installation d’une extension de navigateur Extension interceptant le trafic SSL Correction 5 (désactivation des extensions)
Erreur dans un seul navigateur, pas les autres Paramètre TLS du navigateur ou version obsolète Correction 3 (mise à jour du navigateur)
Erreur après le passage de WordPress à HTTPS WordPress pas entièrement configuré pour HTTPS Corrections spécifiques à WordPress ci-dessous
Vos visiteurs signalent l’erreur sur votre site Problème de TLS ou de certificat côté serveur Lancez un test SSL du serveur

Pour les problèmes côté serveur, le test de serveur Qualys SSL Labs analyse gratuitement votre domaine, note votre configuration TLS et répertorie chaque problème de certificat et de chiffrement qu’il détecte. Lors de nos tests avec WP STAGING, lancer ce test est le moyen le plus rapide de confirmer si le problème se situe côté serveur ou côté client.

Les 5 façons les plus simples de corriger l’erreur « SSL Handshake Failed »

  1. Vérifiez vos paramètres de date et d’heure
  2. Vérifiez que votre certificat SSL est toujours valide
  3. Mettez à jour votre navigateur
  4. Vérifiez la prise en charge des protocoles TLS/SSL
  5. Désactivez les extensions du navigateur

1. Vérifiez vos paramètres de date et d’heure

L’erreur « SSL Handshake Failed » provient souvent de paramètres de date et d’heure incorrects sur votre appareil. Les certificats SSL reposent sur une heure exacte ; une horloge erronée peut donc rompre la connexion sécurisée. Voici comment corriger cela :

Cliquez avec le bouton droit sur l’heure et la date dans la barre des tâches et sélectionnez « Ajuster la date/l’heure ».

Ajuster la date et l'heure pour corriger l'erreur « SSL Handshake Failed »

Activez cette fonction pour que Windows règle automatiquement l’heure selon votre fuseau horaire. Pour une synchronisation manuelle, cliquez sur « Synchroniser maintenant » sous « Synchroniser votre horloge ».

Activer le réglage automatique de l'heure pour corriger l'erreur « SSL Handshake Failed »

2. Vérifiez que votre certificat SSL est toujours valide

Un certificat SSL expiré ou non valide est une cause directe de l’erreur « SSL Handshake Failed ». Pour assurer un handshake réussi, confirmez que le certificat est valide et installé pour le bon domaine. Voici comment le vérifier :

Accédez au site concerné dans n’importe quel navigateur, cliquez sur l’icône d’informations du site dans la barre d’adresse, puis sélectionnez « La connexion est sécurisée ».

Option « La connexion est sécurisée » dans Google Chrome

Cliquez ensuite sur « Le certificat est valide ».

Vérifier la date de validité du certificat pour corriger l'erreur « SSL Handshake Failed »

Dans la Visionneuse de certificats, repérez la section « Période de validité » et vérifiez la date d’expiration.

Consulter la période de validité SSL pour corriger l'erreur « SSL Handshake Failed »

Si le certificat a expiré, renouvelez-le auprès de votre fournisseur de certificats SSL. Si le nom de domaine figurant sur le certificat ne correspond pas à l’URL de votre site, le certificat doit être réémis pour le bon domaine.

3. Mettez à jour votre navigateur

Un navigateur obsolète peut ne pas prendre en charge les versions TLS ou les suites de chiffrement actuelles, ce qui provoque des échecs de handshake sur les serveurs ayant abandonné les protocoles plus anciens. Ouvrez les paramètres de votre navigateur, cherchez l’option de mise à jour, installez les mises à jour disponibles, puis redémarrez le navigateur.

Rechercher des mises à jour pour corriger l'erreur « SSL Handshake Failed ».

Nous avons constaté que cette correction résout l’erreur dans les cas où un serveur a récemment relevé son exigence minimale de TLS et où le navigateur client n’avait pas été mis à jour en conséquence.

4. Vérifiez la prise en charge des protocoles TLS/SSL

L’erreur « SSL Handshake Failed » peut survenir si votre navigateur ou votre serveur est configuré pour une version de TLS incompatible. TLS 1.2 et TLS 1.3 sont les normes actuelles, et la plupart des navigateurs modernes les prennent en charge automatiquement.

Si vous utilisez une ancienne version de Firefox, tapez about:config dans la barre d’adresse, recherchez security.tls.version.min et confirmez que la valeur est 3 (ce qui correspond à TLS 1.2).

Vérifier la prise en charge des protocoles TLS/SSL pour corriger l'erreur « SSL Handshake Failed ».

Si vous gérez votre propre serveur, vérifiez que TLS 1.2 et 1.3 sont activés dans les paramètres SSL/TLS de votre panneau de configuration d’hébergement, et que TLS 1.0 et 1.1 sont désactivés. En cas de doute, demandez à votre hébergeur.

5. Désactivez les extensions du navigateur

Les extensions de navigateur qui gèrent la sécurité ou la confidentialité peuvent interférer avec les connexions SSL en interceptant ou en modifiant le trafic chiffré. Pour vérifier si une extension est à l’origine du problème :

Allez dans les paramètres de votre navigateur et accédez à la section des extensions ou modules complémentaires.

Retrouvez vos extensions dans votre navigateur.

Désactivez temporairement toutes les extensions.

Désactivez vos extensions pour corriger l'erreur « SSL Handshake Failed ».

Visitez le site concerné. Si l’erreur disparaît, réactivez les extensions une par une, en testant après chacune, afin d’identifier celle qui pose problème. Les extensions VPN et les bloqueurs de publicités qui effectuent une inspection HTTPS sont les coupables les plus fréquents.

Problèmes de configuration SSL côté serveur

Si vous gérez le serveur et que les cinq corrections côté client n’ont pas résolu l’erreur, le problème provient probablement de la configuration TLS du serveur. Les causes côté serveur les plus fréquentes :

Prise en charge d’une version de TLS obsolète. Les serveurs configurés pour n’accepter que TLS 1.0 ou 1.1 seront rejetés par tous les navigateurs actuels. Sous Apache, activez les protocoles modernes avec SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1. Sous Nginx, utilisez ssl_protocols TLSv1.2 TLSv1.3;. La plupart des panneaux de configuration d’hébergement infogéré proposent un interrupteur graphique pour cela dans la section SSL/TLS.

Suites de chiffrement faibles ou incompatibles. Si votre serveur ne propose que des suites de chiffrement obsolètes (RC4, 3DES, chiffrements de qualité export), le navigateur rejette toute la liste et le handshake échoue sans erreur claire. Mettez à jour la configuration des suites de chiffrement de votre serveur afin de privilégier les suites AEAD actuelles. Lancer le test Qualys SSL Labs sur votre domaine vous fournit une liste précise de ce que le serveur propose actuellement et des éléments à supprimer.

Chaîne de certificats incomplète. Votre certificat SSL doit être fourni avec tous les certificats intermédiaires dans le bon ordre. Si des intermédiaires manquent, certains navigateurs ne peuvent pas vérifier le certificat et le handshake échoue. La plupart des fournisseurs de certificats livrent un fichier bundle qui inclut la chaîne complète ; installez le bundle plutôt que le seul certificat final.

Problèmes de redirection après une migration. Si vous avez récemment fait passer votre site de HTTP à HTTPS, une règle de redirection obsolète dans .htaccess ou dans la configuration de votre serveur peut créer une boucle que le navigateur présente comme un échec de connexion plutôt que comme une erreur de redirection. Vérifiez vos règles de redirection après toute migration vers HTTPS.

Corrections spécifiques à WordPress pour l’erreur « SSL Handshake Failed »

Lorsque l’erreur apparaît spécifiquement sur un site WordPress, ces étapes traitent les causes les plus courantes au niveau de WordPress :

Forcez le HTTPS dans wp-config.php. Après l’installation d’un certificat SSL, WordPress peut continuer à servir la zone d’administration et la page de connexion via HTTP. Ajoutez ces lignes à wp-config.php avant le commentaire /* That's all, stop editing! */ :

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);

Mettez également à jour Réglages > Général afin que l’adresse web de WordPress et l’adresse du site utilisent toutes deux https://.

Résolvez le contenu mixte. Une page servie via HTTPS qui charge des images, des scripts ou des feuilles de style via HTTP déclenche des avertissements du navigateur qui peuvent ressembler à des erreurs de handshake. Utilisez les outils de développement du navigateur (onglet Réseau, filtre par HTTP) pour repérer les ressources en contenu mixte, puis mettez à jour leurs URL afin d’utiliser HTTPS.

Désactivez temporairement les extensions de gestion SSL. Les extensions qui forcent les redirections HTTPS peuvent entrer en conflit avec la configuration SSL de votre hébergeur. Désactivez-les une par une et testez après chacune.

Mettez à jour l’URL du site dans la base de données après une migration. Si vous avez migré WordPress à l’aide de WP STAGING et que la base de données contient toujours l’ancienne adresse HTTP, des boucles de redirection peuvent en découler. Utilisez WP-CLI pour la mettre à jour :

wp search-replace 'http://yoursite.com' 'https://yoursite.com' --skip-columns=guid

D’après notre expérience avec WP STAGING, un http:// oublié dans la base de données est l’une des sources les plus courantes d’erreurs liées à SSL juste après une migration.

Que faire si aucune des corrections ne fonctionne

Si vous avez appliqué toutes les corrections ci-dessus et que l’erreur persiste, suivez ce cheminement de décision :

Erreur sur un serveur que vous contrôlez :

  1. Lancez le test de serveur Qualys SSL Labs sur votre domaine et examinez chaque élément signalé dans le rapport.
  2. Contactez votre hébergeur en lui transmettant le rapport SSL Labs. La plupart des hébergeurs infogérés peuvent résoudre les problèmes de configuration TLS de leur côté sans que vous ayez à accéder au serveur.
  3. Si vous disposez d’un accès direct au serveur, recherchez dans le journal d’erreurs du serveur web les entrées SSL_do_handshake ou handshake failure. Elles indiquent la version exacte du protocole ou la suite de chiffrement qui n’a pas pu être négociée.

Erreur sur un site qui ne vous appartient pas :

  1. Essayez le site sur un autre réseau, par exemple en passant du Wi-Fi aux données mobiles ou en désactivant un VPN. Un pare-feu d’entreprise ou un proxy intercepteur peut supprimer ou remplacer des certificats, ce qui fait échouer le handshake de votre côté uniquement.
  2. Videz l’état SSL de votre navigateur. Dans Chrome : Paramètres > Confidentialité et sécurité > Sécurité > Gérer les certificats > Effacer l’état SSL.
  3. Si l’erreur se limite à votre réseau, contactez votre administrateur réseau ou informatique. Un proxy ou un pare-feu en est probablement la cause.
  4. Si rien de ce qui précède ne résout le problème, le propriétaire du site rencontre un problème de configuration côté serveur que lui seul peut corriger. En lui fournissant la version de votre navigateur, la version de votre système d’exploitation et le message d’erreur complet, vous lui donnez ce dont il a besoin pour le reproduire.

Conclusion

Les échecs de handshake SSL peuvent avoir de nombreuses causes : une horloge d’appareil décalée de quelques minutes, un navigateur qui n’a pas été mis à jour, un certificat expiré ou un serveur qui n’a pas été configuré selon les normes TLS actuelles. Parcourir le tableau de diagnostic en haut de ce guide, puis appliquer les corrections dans l’ordre, résout la plupart des cas sans avoir à contacter qui que ce soit.

Conservez toujours des sauvegardes, suivez les bonnes pratiques de sécurité pour éviter les interruptions, et maintenez votre site WordPress sécurisé et accessible.

Articles liés

Rene Hermenau

Auteur : Rene Hermenau

À propos de l'auteur : René Hermenau est le fondateur de WP STAGING. Il travaille sur les sauvegardes WordPress, les environnements de staging, les migrations, la gestion des bases de données et les workflows de déploiement sécurisés.