1043 votes

Comment vider le cache DNS dans Google Chrome ?

Comme vous le savez probablement, Google Chrome possède son propre cache DNS interne. Existe-t-il un moyen de le vider sans devoir attendre le délai d'expiration ou fermer le navigateur ?

0 votes

La seule raison pour laquelle je dois vider le cache DNS de Chrome est que si je ne le fais pas, je ne peux pas accéder à Google. Heureusement, Google n'est pas le seul moteur de recherche (sinon je n'aurais pas trouvé cette question) et je ne suis confronté à Chrome qu'au travail.

0 votes

Pour moi, cela est probablement dû à un serveur DNS incorrect dans resolv.conf. (J'essaie d'accéder à un serveur interne sur un VPN). Les gens de T-com ont mal configuré leur DNS pour répondre avec leur site de publicité au lieu de NXDOMAIN, et les gens qui ont écrit Chrome ne se sont pas souciés de respecter l'ordre de resolv.conf, mais au lieu de cela utilisent joyeusement n'importe quel serveur DNS qui semble fonctionner.

0 votes

1495voto

posipiet Points 371

Naviguez vers chrome://net-internals/#dns et appuyez sur le bouton "Clear host cache".

47 votes

Bizarrement, cela ne fonctionne que dans un sens. J'ai un mappage dans le fichier hosts qui mappe un nom de domaine à la machine locale (c'est-à-dire à 127.0.0.1), lorsque je supprime le mappage et vide le cache DNS dans Chrome, il charge correctement le site depuis l'internet, mais lorsque je rajoute le mappage au fichier hosts, il charge toujours le site depuis l'internet. La liste des DNS en cache est vide dans Chrome après avoir vidé le cache DNS (j'ai également vidé le cache du système d'exploitation en utilisant ipconfig /flushdns), mais le site est toujours chargé à partir d'Internet ! Cela semble être un bug.

10 votes

Plus ennuyeux encore, Chrome affiche correctement l'adresse IP (127.0.0.1) pour ce domaine dans la liste du cache DNS (après avoir vidé le cache et essayé de charger le site à nouveau), mais il charge le site depuis l'internet.

6 votes

Génial, est-ce qu'il existe une liste de toutes les options chrome://* de toute façon quelqu'un le sait ?

241voto

Bojan Hrnkas Points 2680

Parfois, vous devez vider les pools de sockets après avoir vidé le DNS :

chrome://net-internals/#sockets

5 votes

Notez que Chrome surveille désormais le hosts et efface automatiquement le dnscache à chaque fois que des modifications sont apportées au fichier hosts fichier. -Vous pouvez facilement tester si cela fonctionne sur votre système en ajoutant une ligne blanche après votre fichier hosts et la liste à chrome://net-internals/#dns Le service dnscache de Windows surveillera également (du moins sous win 8.1) les modifications du fichier hosts, de sorte qu'après avoir mis à jour votre fichier hosts fichier, il suffit de cliquer sur le bouton "Flush socket pools". . Rien d'autre n'est nécessaire.

0 votes

Oui, il me semble avoir remarqué le même comportement depuis 1 an environ. Cependant, peut-être que ça ne fonctionne pas tout le temps, car j'obtiens toujours les upvotes sur cette réponse.

0 votes

Testé sur Server 2003 également. A chaque fois qu'il y a des changements dans le fichier hosts, le service dnscache automatiquement recharge le cache sans qu'il soit nécessaire de ipconfig /flushdns absurde. ipconfig /flushdns semble être un hareng rouge dans toute cette affaire.

63voto

PJ Brunet Points 1354

"Naviguer vers chrome://net-internals/#dns" ne fonctionne pas dans le navigateur Google Chrome, du moins sur mon système. Il semble que cette solution fonctionne peut-être pour le système d'exploitation Google Chrome, mais pas pour le navigateur Google Chrome de manière plus générale. Pour moi, le lien redirige ici :
Les projets Chromium

Il semble que "Vider le cache" soit la meilleure solution. Notez également que mon navigateur indique "Préférences" plutôt que "Options".

Via http://www.google.com/support/forum/p/Chrome/thread?tid=026b6a1d9151a6e3&hl=en

Allez dans Outils -> Options -> Sous le capot -> Effacer les données de navigation, cochez la case "Vider le cache" et cliquez sur Effacer les données de navigation. Oui oui, je sais, ce n'est pas le cache DNS que je m'attendrais à ce qu'il efface, mais bon, il semble le faire. Et maintenant, ça marche pour moi."

7 votes

J'ai confirmé que ça a marché pour moi, Effacer les données de navigation -> Vider le cache. Aucune autre méthode n'a fonctionné. Merci PJ.

0 votes

Cela a fonctionné pour moi sur chrome et chrome lorsque /etc/resolver/foo.com était ignoré.

0 votes

Il semble que Google modifie progressivement le nom de certaines URL internes sur différentes versions. À partir de la version 27.0.1421.0 (184274)...

54voto

Johntron Points 674

En cliquant sur "clear host cache" dans chrome://net-internals/#dns devrait suffire pour Google Chrome, mais il y a d'autres caches DNS à prendre en compte sur votre machine.

Les fenêtres :

ipconfig /flushdns

OS X pré-10.7 (avant Lion) :

sudo dscacheutil -flushcache

OS X 10.7-10.9 (Lion, Mountain Lion, Mavericks) :

sudo killall -HUP mDNSResponder

OS X 10.10+ (Yosemite) :

sudo discoveryutil mdnsflushcache

OS X 10.11, 10.12+ (El Capitan, Sierra) :

sudo killall -HUP mDNSResponder

Il se peut que votre routeur mette également en cache les DNS (redémarrez-le ou lisez le manuel). Le test ultime consiste à utiliser creuser mais cela utilise l'hôte DNS de votre réseau, et non le serveur faisant autorité par défaut :

dig superuser.com

Pour interroger directement la source, essayez quelque chose comme.. :

dig superuser.com @ns1.serverfault.com

1 votes

"sudo discoveryutil mdnsflushcache" n'a pas fonctionné sur El Capitan (10.11) pour moi, mais "sudo killall -HUP mDNSResponder" l'a fait, il a dit que discoveryutil n'existait pas, peut-être que c'est Sierra et plus ?

32voto

Sina Points 381

Sous OS X 10.9.1 avec Chrome 32, j'ai dû à la fois vider le cache de l'hôte et vider les pools de sockets pour que Chrome rafraîchisse le cache DNS :

  1. Naviguez vers chrome://net-internals/#dns et cliquez sur "Effacer le cache de l'hôte"
  2. Naviguez vers chrome://net-internals/#sockets abd click "Flush Socket Pools"

0 votes

J'en avais besoin dans Windows 8.1 également, donc ce n'est pas seulement OS X.

0 votes

Chrome pour Linux en a également besoin chrome://net-internals/#sockets

2 votes

Chrome pour Linux a juste besoin d'un socket flush. Pas de rinçage DNS. superuser.com/a/611712/30982

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X