Vous avez modifié un enregistrement DNS et certains voient encore l'ancien ? Découvrez comment le TTL et le cache des résolveurs créent la « propagation » et comment la vérifier dans le monde entier.
Vous avez pointé votre domaine vers un nouveau serveur, et la moitié de vos utilisateurs arrivent encore sur l'ancien. Ce délai, on l'appelle la propagation DNS. En réalité rien ne se propage : d'anciennes réponses sont stockées dans des caches partout dans le monde et attendent d'expirer.
Quand quelqu'un visite votre domaine, son appareil interroge un résolveur récursif (celui de son FAI, ou un résolveur public comme 1.1.1.1 ou 8.8.8.8). Ce résolveur interroge une fois vos serveurs de noms faisant autorité, puis met la réponse en cache aussi longtemps que le TTL de l'enregistrement le permet. Tant que le TTL n'a pas expiré, tous les utilisateurs de ce résolveur reçoivent l'ancienne réponse.
Le délai maximal d'un changement correspond donc à peu près à l'ancien TTL de l'enregistrement. Un enregistrement avec un TTL de 86400 secondes peut mettre jusqu'à un jour à se mettre à jour partout ; avec un TTL de 300, environ cinq minutes.
Changer les serveurs de noms d'un domaine (chez votre registrar) fait intervenir les serveurs du TLD, dont les enregistrements NS ont souvent des TTL d'un ou deux jours. Prévoyez jusqu'à 48 heures.
La requête DNS interroge votre enregistrement depuis des résolveurs dans de nombreux pays à la fois : vous voyez quels emplacements renvoient déjà la nouvelle valeur et lesquels servent encore l'ancienne. Vous pouvez interroger les enregistrements A, AAAA, CNAME, MX, TXT, NS, SOA et PTR, et choisir un résolveur précis.
Ce qu'on vérifie typiquement après un changement :
Votre machine et votre navigateur mettent aussi le DNS en cache. Videz-le (ipconfig /flushdns sous Windows, sudo resolvectl flush-caches sur la plupart des Linux, sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder sous macOS) ou testez avec un autre résolveur. Confirmez ensuite que le site répond depuis le nouveau serveur avec un test de site.