Ce qui se passe réellement
Quand un visiteur tape votre adresse, son ordinateur ne demande pas directement à vos serveurs de noms. Il interroge un résolveur, souvent celui de son fournisseur d'accès, qui va chercher la réponse puis la garde en cache. Chaque enregistrement DNS porte une durée de vie, le TTL, exprimée en secondes : c'est le temps pendant lequel la réponse peut être conservée, selon la RFC 1035 qui définit le DNS.
Si votre enregistrement A avait un TTL de 3 600 secondes, un résolveur qui l'a lu juste avant votre modification continuera de servir l'ancienne adresse pendant une heure au plus. Un autre, qui ne l'avait jamais lu, verra la nouvelle tout de suite. C'est pourquoi un même site s'affiche à l'ancienne adresse chez vous et à la nouvelle chez un collègue.
Les délais selon le changement
- Un enregistrement modifié dans la zone (A, CNAME, MX, TXT) : le délai est celui de l'ancien TTL, souvent entre 5 minutes et quelques heures.
- Un changement de serveurs de noms : il passe par le registre de l'extension, et les enregistrements NS ont souvent des TTL longs. Comptez jusqu'à 24 à 48 heures pour que tout le monde suive.
- Un domaine tout juste enregistré : il devient visible dès que le registre publie sa zone, en général en quelques minutes à quelques heures.
Vérifier où en est la propagation
- Interrogez directement les serveurs de noms du domaine. Ils donnent la réponse de référence, sans cache :
dig NS exemple.fr +short
dig @ns1.fournisseur-dns.exemple exemple.fr A +short
La première commande liste les serveurs de noms ; la seconde demande l'enregistrement A à l'un d'eux. Si la nouvelle adresse apparaît, votre modification est bien en place.
- Comparez avec des résolveurs publics :
dig @1.1.1.1 exemple.fr A +shortpuisdig @8.8.8.8 exemple.fr A +short. Tant qu'ils répondent l'ancienne valeur, leur cache n'a pas expiré. Le TTL restant s'affiche dans la réponse complète dedig, sans+short.
- Sous Windows, la commande
nslookup -type=A exemple.fr 1.1.1.1fait le même travail. Sa syntaxe est décrite dans la documentation de Microsoft.
- Videz votre propre cache si seul votre poste voit l'ancienne version : redémarrer le navigateur suffit souvent, sinon la commande de votre système (
ipconfig /flushdnssous Windows).
La syntaxe de dig, @serveur et +short compris, est détaillée dans sa page de manuel.
Accélérer une bascule prévue
On ne peut pas vider les caches des autres, mais on peut faire en sorte qu'ils expirent vite.
- La veille du changement, baissez le TTL de l'enregistrement concerné à 300 secondes (cinq minutes).
- Attendez la durée de l'ancien TTL, pour que tous les caches aient relu la valeur courte.
- Faites la modification. Elle sera vue partout en cinq minutes environ.
- Remontez le TTL à une heure ou plus une fois la bascule confirmée, pour alléger la charge sur vos serveurs de noms.
Pendant la propagation
Les deux adresses coexistent quelques heures : certains visiteurs arrivent sur l'ancien serveur, d'autres sur le nouveau. Pour un site, gardez l'ancien hébergement en service jusqu'à la fin de la bascule. Pour une messagerie, un message envoyé pendant ce temps peut arriver chez l'ancien fournisseur : prévoyez de le relever une dernière fois.
Chez Hubspace
Lors d'une migration, nous préparons votre site chez nous avant de toucher au domaine, et nous vous envoyons les deux valeurs à saisir chez votre bureau d'enregistrement. Gardez l'ancien hébergement actif le temps que la propagation se fasse. La migration de site détaille ce déroulé. Pour comprendre ce que vous modifiez, voir les enregistrements DNS.
Questions fréquentes
Pourquoi mon site s'affiche-t-il chez moi et pas chez un client ?
Vos deux résolveurs n'ont pas lu l'enregistrement au même moment : l'un a encore l'ancienne valeur en cache. Attendez la durée du TTL, ou faites tester le client en navigation privée depuis un réseau mobile.
Peut-on forcer la propagation ?
Non : le cache d'un résolveur appartient à son opérateur. On peut seulement réduire le TTL à l'avance, pour que le prochain changement soit vu plus vite.
Quarante-huit heures, c'est un maximum ?
C'est un ordre de grandeur courant pour les changements de serveurs de noms, pas une limite écrite. Un TTL réglé plus long que d'habitude allonge le délai d'autant.
Articles liés
- Enregistrement DNS : A, AAAA, CNAME, MX et TXTLes enregistrements DNS d'un domaine expliqués : A, AAAA, CNAME, MX, TXT et NS, à quoi chacun sert et comment pointer un domaine vers un site.
- Enregistrement MX : le lire, le modifierL'enregistrement MX désigne les serveurs qui reçoivent le courrier de votre domaine : priorité, valeurs, modification pas à pas et erreurs à éviter.
- Enregistrement CNAME : usage et limitesLe CNAME fait d'un sous-domaine l'alias d'un autre nom : quand l'utiliser, pourquoi le domaine nu ne peut pas en porter, et comment le créer.