Tutoriel

Renouvellement SSL échoué : diagnostiquer avant de relancer

Sécurité & Monitoring11 min de lecture10 étapes

Le navigateur affiche un avertissement de certificat, ou un message annonce qu'un renouvellement a échoué. Le réflexe est de conclure que le SSL automatique est cassé chez l'hébergeur et de relancer l'émission en boucle. Dans la grande majorité des cas, le mécanisme fonctionne : c'est une condition de validation qui a changé, un DNS modifié, une redirection ajoutée, un pare-feu activé, un enregistrement CAA ou un proxy CDN. Ce guide donne l'arbre de diagnostic, les commandes pour lire chaque signal, et l'endroit où relancer une fois la cause levée.

Sommaire· Un certificat expiré ne signifie pas un hébergeur en panne1/12
  1. 01Un certificat expiré ne signifie pas un hébergeur en panne
  2. 02Ce que le renouvellement vérifie, à chaque échéance
  3. 03Le diagnostic en six étapes
  4. 04Symptôme, cause probable, correction
  5. 05Quand le DNS pointe ailleurs
  6. 06Quand une redirection ou un pare-feu intercepte le challenge
  7. 07Quand un enregistrement CAA exclut l'autorité
  8. 08Quand un proxy CDN s'interpose
  9. 09Les messages d'erreur que l'on rencontre, et leur cause
  10. 10Où relancer, une fois la cause corrigée
  11. 11Prévenir plutôt que diagnostiquer
  12. 12Corriger la condition, pas le symptôme

Un certificat expiré ne signifie pas un hébergeur en panne

Un certificat gratuit se renouvelle seul, sans que personne ne clique. Quand il expire malgré tout, la conclusion spontanée est que le service automatique est défaillant. C'est rarement exact. Le renouvellement n'est pas une action de l'hébergeur : c'est un dialogue entre l'autorité de certification et votre domaine, répété à chaque échéance, et il réussit uniquement si le domaine répond comme la première fois.

Or un site vit. Quelqu'un a changé de serveurs DNS, ajouté une règle de redirection dans le fichier .htaccess, activé un pare-feu applicatif, passé le domaine derrière un CDN ou publié un enregistrement CAA. Chacun de ces gestes est légitime, et chacun peut empêcher la validation sans que le site cesse de s'afficher. L'erreur apparaît des semaines plus tard, au moment de l'échéance, loin de la modification qui l'a provoquée. Relancer l'émission sans rien corriger ne produit que le même échec. Il faut lire le signal, trouver la condition qui a bougé, la rétablir, puis relancer une seule fois.

Ce que le renouvellement vérifie, à chaque échéance

Pour émettre ou renouveler un certificat, l'autorité doit s'assurer que celui qui le demande contrôle réellement le domaine. Elle procède en quatre temps, et l'échec se situe toujours dans l'un d'eux.

D'abord, elle résout le nom : le DNS doit répondre et renvoyer l'adresse du bon serveur, en IPv4 comme en IPv6. Ensuite, dans la validation par fichier, elle appelle l'adresse http://votre-domaine.com/.well-known/acme-challenge/ sur le port 80 et attend le contenu précis posé par le client ACME. Troisièmement, elle consulte les enregistrements CAA du domaine pour vérifier qu'aucun ne lui interdit d'émettre. Enfin, elle suit les redirections éventuelles, mais refuse une réponse d'erreur ou une page de blocage.

Cette séquence explique l'arbre de diagnostic : pointe-t-il vers le bon serveur, le challenge est-il atteignable, une redirection ou un pare-feu l'intercepte-t-il, un CAA exclut-il l'autorité, un proxy est-il dans un mode compatible. Les étapes suivantes testent ces cinq points dans cet ordre.

Le diagnostic en six étapes

  1. Lire la date d'expiration réelle

    Ne vous fiez pas à un message : lisez le certificat servi. openssl s_client -connect votre-domaine.com:443 -servername votre-domaine.com </dev/null 2>/dev/null | openssl x509 -noout -dates -issuer affiche les dates de début et de fin ainsi que l'émetteur. Si la date de fin est passée, le renouvellement a bien échoué. Si elle est encore valide, l'avertissement vient d'ailleurs : un autre nom de domaine non couvert, ou une chaîne incomplète.

  2. Vérifier où pointe le domaine

    dig +short A votre-domaine.com puis dig +short AAAA votre-domaine.com doivent renvoyer l'adresse du serveur qui héberge le site. Un enregistrement AAAA oublié, qui désigne un ancien serveur, est une cause classique : l'autorité tente l'IPv6 en premier et tombe sur la mauvaise machine. Contrôlez aussi dig +short NS votre-domaine.com pour confirmer que les serveurs de noms sont bien ceux où vous éditez la zone.

  3. Tester le chemin du challenge en HTTP

    Posez un fichier de test dans le dossier .well-known/acme-challenge/ de la racine web, puis lancez curl -I http://votre-domaine.com/.well-known/acme-challenge/test.txt. Attendu : un code 200. Un 301 vers HTTPS est acceptable, un 403 ou un 404 ne l'est pas. Ajoutez -L pour suivre la chaîne de redirections et repérer une boucle ou une destination inattendue.

  4. Identifier ce qui répond réellement

    Comparez les en-têtes de la réponse : le champ server ou via trahit un proxy, un CDN ou un pare-feu applicatif interposé. Si la réponse est une page de vérification anti-robot, l'autorité, qui n'est pas un navigateur, ne la passera jamais. Relisez aussi les règles du .htaccess : une consigne qui interdit l'accès aux fichiers commençant par un point bloque .well-known.

  5. Lire les enregistrements CAA

    dig CAA votre-domaine.com +short liste les autorités autorisées. Aucune réponse signifie qu'il n'y a pas de restriction. Une réponse qui ne nomme pas votre autorité, par exemple 0 issue "autre-autorite.example", interdit l'émission. Remontez aussi au domaine parent : un CAA publié sur votre-domaine.com s'applique à tous ses sous-domaines qui n'ont pas le leur.

  6. Consulter le journal du client d'émission

    Le journal nomme la cause exacte. Sur un VPS, certbot certificates donne l'état et /var/log/letsencrypt/letsencrypt.log détaille chaque tentative. Sur cPanel, le journal AutoSSL de la page Certificats SSL indique le domaine et le motif de l'échec. Notez le message exact : le tableau suivant le rattache à sa cause.

Symptôme, cause probable, correction

Faites défiler le tableau

Symptôme observéCause probableCorrection
Domaine non résolu (NXDOMAIN)Zone DNS supprimée, serveurs de noms changés ou enregistrement absentRétablir l'enregistrement A dans la zone qui fait autorité
Délai dépassé à la connexionPort 80 fermé ou adresse AAAA désignant un autre serveurOuvrir le port 80, corriger ou retirer l'enregistrement AAAA
Réponse 404 sur le challengeRacine web différente, règle de réécriture qui détourne le cheminServir `.well-known/acme-challenge/` depuis la bonne racine
Réponse 403 sur le challengePare-feu applicatif, blocage des fichiers cachés, filtre par paysExclure ce chemin des règles de blocage
Trop de redirectionsBoucle entre HTTP, HTTPS, www et domaine nuCorriger la règle de redirection, tester avec `curl -IL`
CAA interdisant l'émissionEnregistrement CAA qui ne nomme pas l'autorité utiliséeAjouter l'autorité à l'enregistrement CAA ou le retirer
Page de vérification au lieu du fichierProxy CDN ou protection anti-robot active sur le cheminDésactiver le défi sur `/.well-known/acme-challenge/`

Quand le DNS pointe ailleurs

C'est la cause la plus fréquente, et la plus discrète. Après une migration, un changement d'hébergeur ou un nettoyage de zone, le domaine continue de s'afficher grâce au cache ou grâce à un enregistrement A correct, tandis qu'un enregistrement AAAA, lui, désigne encore l'ancien serveur. L'autorité préfère l'IPv6 quand elle existe : elle interroge l'ancienne machine, qui ne connaît plus le fichier de challenge, et la validation échoue alors que tout semble en ordre depuis votre poste.

Le contrôle est simple : comparez dig +short A votre-domaine.com et dig +short AAAA votre-domaine.com à l'adresse réelle du serveur. Si vous n'utilisez pas l'IPv6, supprimez l'enregistrement AAAA plutôt que de le laisser pointer ailleurs. Vérifiez aussi que le domaine utilise bien les serveurs de noms où vous venez de corriger la zone ; la procédure de modification d'un enregistrement est détaillée dans le guide pour ajouter ou modifier un enregistrement DNS. Attendez ensuite la fin du délai de mise en cache annoncé par l'ancienne valeur avant de relancer.

Quand une redirection ou un pare-feu intercepte le challenge

Le challenge est une requête HTTP ordinaire que l'autorité envoie depuis ses propres serveurs. Tout ce qui répond à sa place, ou lui répond autre chose que le fichier attendu, fait échouer la validation. Trois installations posent régulièrement le problème.

La première est la redirection qui change de domaine : une règle qui renvoie tout le trafic de votre-domaine.com vers une autre adresse, y compris le chemin du challenge, envoie l'autorité chercher le fichier sur un site qui ne le contient pas. La deuxième est la règle de sécurité qui refuse les fichiers dont le nom commence par un point : elle protège .env ou .git, mais elle bloque aussi .well-known. La troisième est le pare-feu applicatif ou le filtrage par pays, qui traite l'autorité comme un visiteur inconnu et répond 403.

La parade n'est pas de désactiver la protection, mais d'exclure précisément le chemin /.well-known/acme-challenge/ des règles de redirection et de blocage. Une redirection de HTTP vers HTTPS reste acceptable, tant qu'elle conserve le chemin demandé et se termine sur le même domaine.

Quand un enregistrement CAA exclut l'autorité

Un enregistrement CAA est une liste blanche publiée dans le DNS : il énumère les autorités autorisées à émettre pour le domaine. C'est un bon outil de sécurité, mais il se périme en silence. Quelqu'un publie 0 issue "une-autorite.example" lors d'un audit, puis l'hébergement passe à une autre autorité, ou AutoSSL change de fournisseur, et l'émission est refusée avec un message qui parle de CAA.

Pour corriger, lisez le résultat de dig CAA votre-domaine.com +short, identifiez l'autorité que votre service utilise (sur cPanel, la colonne Émetteur de la page Certificats SSL), puis ajoutez une ligne issue à son nom. Si vous n'avez pas besoin de cette restriction, supprimez l'enregistrement. N'oubliez pas qu'un CAA se lit en remontant l'arborescence : celui du domaine principal s'applique aux sous-domaines. Et pour un certificat qui couvre un sous-domaine générique, une ligne issuewild distincte peut être nécessaire.

Quand un proxy CDN s'interpose

Placer un domaine derrière un CDN en mode proxy change ce que voit l'autorité. Elle ne parle plus à votre serveur, mais à celui du CDN, qui peut répondre à votre place avec un certificat de bordure, une page de vérification ou une règle de sécurité propre. Selon le mode choisi, le renouvellement du certificat d'origine fonctionne ou non.

Deux réglages comptent. Le mode de chiffrement entre le CDN et l'origine d'abord : en mode souple, le CDN parle en clair à l'origine, ce qui provoque une boucle de redirection si votre serveur force HTTPS ; en mode strict, il exige un certificat d'origine valide, de sorte que l'expiration devient visible immédiatement sous la forme d'une erreur d'origine. Ensuite, les protections actives sur le chemin du challenge : il faut les lever pour /.well-known/acme-challenge/ ou passer à une validation par enregistrement DNS, qui ne dépend pas du trafic web. Pendant le diagnostic, vous pouvez aussi désactiver temporairement le proxy sur le seul enregistrement concerné, relancer l'émission, puis le réactiver.

Les messages d'erreur que l'on rencontre, et leur cause

  • DNS problem: NXDOMAIN looking up A — le nom ne se résout pas : zone absente, serveurs de noms modifiés, faute de frappe dans le domaine demandé.
  • Timeout during connect (likely firewall problem) — l'autorité n'atteint pas le port 80 : pare-feu, groupe de sécurité du fournisseur ou enregistrement AAAA vers une machine qui n'écoute pas.
  • Invalid response ... 404 — le serveur répond, mais ne trouve pas le fichier : mauvaise racine web, réécriture qui détourne le chemin, ou site servi par un autre hôte virtuel.
  • Invalid response ... 403 — un blocage actif : pare-feu applicatif, règle interdisant les fichiers cachés, filtrage par pays ou protection anti-robot.
  • CAA record for votre-domaine.com prevents issuance — un enregistrement CAA ne nomme pas l'autorité utilisée ; ajoutez-la ou supprimez la restriction.
  • Échec de validation du contrôle du domaine dans AutoSSL — le journal signale que le domaine ne pointe pas vers ce serveur ou que la requête de validation a été détournée ; reprenez les étapes 2 à 4.

Où relancer, une fois la cause corrigée

  1. Sur un hébergement web cPanel

    Ouvrez la page Sécurité de cPanel, onglet Certificats SSL, relancez la vérification AutoSSL du domaine, puis relisez la colonne d'expiration. La manipulation pas à pas est décrite dans le guide pour vérifier et relancer le certificat SSL dans cPanel.

  2. Sur un VPS avec certbot

    Testez d'abord sans rien émettre : certbot renew --dry-run rejoue la validation en environnement d'essai. Si l'essai passe, certbot renew émet réellement, puis rechargez le serveur web pour qu'il serve le nouveau fichier. La mise en place complète est décrite dans le guide des certificats Let's Encrypt sur VPS.

  3. Avec une chaîne ACME automatisée

    Si un outil gère l'émission pour vous, corrigez la cause puis relancez son renouvellement manuel une seule fois. Pour fiabiliser durablement ce flux, voir l'automatisation ACME avec des certificats courts.

  4. Vérifier le résultat

    Relancez la commande openssl s_client de la première étape : la date de fin doit avoir changé. Rechargez le site dans une fenêtre de navigation privée, car le navigateur peut garder l'ancien certificat en mémoire.

Prévenir plutôt que diagnostiquer

Chaque fois que vous modifiez le DNS, ajoutez une redirection, activez un pare-feu ou passez derrière un CDN, rejouez immédiatement le test du challenge avec curl -I. Une surveillance de la date d'expiration, avec une alerte à l'approche de l'échéance, transforme un site en erreur en simple ticket à traiter à froid. Notez dans le dossier du site quelle autorité émet le certificat : c'est l'information qui manque le plus souvent le jour où un CAA bloque.

Corriger la condition, pas le symptôme

Un renouvellement qui échoue est presque toujours le signe qu'une condition de validation a changé : le nom ne pointe plus au bon endroit, le chemin du challenge est bloqué ou détourné, une autorité est exclue, un proxy s'est glissé entre elle et le serveur. L'ordre de lecture est constant : résolution DNS, accès au port 80, réponse au chemin du challenge, enregistrement CAA, mode du proxy. Une fois la cause rétablie, une seule relance suffit. Les hébergements web ServOrbit.com incluent un SSL gratuit renouvelé automatiquement ; quand la validation échoue, la cause se lit dans le journal AutoSSL et se corrige avec les commandes ci-dessus.

Un SSL qui se renouvelle sans surveillance

Les hébergements web ServOrbit.com incluent un certificat SSL gratuit, émis et renouvelé automatiquement. Si une validation échoue, le journal AutoSSL indique la cause et le diagnostic est documenté pas à pas.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet