Wie Sie wahrscheinlich wissen, verfügt Google Chrome über einen eigenen internen DNS-Cache. Gibt es eine Möglichkeit, das Problem zu beheben, ohne auf das Timeout warten oder den Browser schließen zu müssen?
Wie Sie wahrscheinlich wissen, verfügt Google Chrome über einen eigenen internen DNS-Cache. Gibt es eine Möglichkeit, das Problem zu beheben, ohne auf das Timeout warten oder den Browser schließen zu müssen?
Antworten:
Navigieren Sie zu chrome: // net-internals / # dns und klicken Sie auf die Schaltfläche "Clear host cache".
Manchmal müssen Sie die Socket-Pools nach dem Leeren des DNS leeren:
chrome://net-internals/#sockets
hosts
Datei jetzt überwacht und den DNS-Cache automatisch löscht, wenn Änderungen an der hosts
Datei vorgenommen werden. - Sie können problemlos testen, ob dies auf Ihrem System funktioniert, indem Sie nach Ihrer hosts
Datei eine Leerzeile chrome://net-internals/#dns
einfügen. Die Liste unter wird automatisch aktualisiert. - Der dnscache-Dienst von Windows überwacht (zumindest unter Windows 8.1) auch die Hosts-Datei auf Änderungen Nachdem Sie Ihre hosts
Datei aktualisiert haben , klicken Sie einfach auf die Schaltfläche "Flush Socket Pools" . Sonst wird nichts benötigt.
ipconfig /flushdns
Unsinn erforderlich ist . ipconfig /flushdns
scheint in dieser ganzen Ausgabe ein roter Hering zu sein.
"Navigiere zu chrome: // net-internals / # dns" funktioniert zumindest auf meinem System nicht im Google Chrome-Browser. Diese Lösung funktioniert anscheinend für Google Chrome OS, nicht jedoch für den Google Chrome-Browser im Allgemeinen. Für mich leitet der Link hier weiter:
Die Chromium-Projekte
Es scheint, dass "Cache leeren" die bessere Lösung ist. Beachten Sie auch, dass mein Browser "Einstellungen" anstelle von "Optionen" anzeigt.
Über http://www.google.com/support/forum/p/Chrome/thread?tid=026b6a1d9151a6e3&hl=de
"Gehen Sie zu Tools -> Optionen -> Unter der Haube -> Browserdaten löschen und aktivieren Sie" Cache leeren "und klicken Sie auf" Browserdaten löschen ". Ja, ja, ich weiß, es ist nicht der DNS-Cache, den ich erwarten würde, dass er gelöscht wird. aber hey es scheint. Und jetzt funktioniert es für mich. "
Wenn Sie in "Host-Cache löschen" klicken, chrome://net-internals/#dns
sollte dies für Google Chrome durchgeführt werden. Auf Ihrem Computer müssen jedoch andere DNS-Caches berücksichtigt werden.
Windows:
ipconfig /flushdns
OS X vor 10.7 (vor Lion):
sudo dscacheutil -flushcache
OS X 10.7–10.9 (Löwe, Berglöwe, Außenseiter):
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
Ihr Router speichert möglicherweise auch den DNS zwischen (starten Sie ihn neu oder lesen Sie das Handbuch). Der ultimative Test besteht darin, dig zu verwenden. Dabei wird jedoch der DNS-Host Ihres Netzwerks verwendet, nicht standardmäßig der autorisierende Server:
dig superuser.com
Versuchen Sie Folgendes, um direkt von der Quelle aus eine Abfrage durchzuführen:
dig superuser.com @ns1.serverfault.com
In OS X 10.9.1 mit Chrome 32 musste ich sowohl den Host-Cache leeren als auch die Socket-Pools leeren, damit Chrome den DNS-Cache aktualisiert:
chrome://net-internals/#sockets
Das hat bei mir geklappt: Leeren und leeren Sie den Festplatten-Cache
Klicken Sie in Chrome auf das Schraubenschlüsselsymbol und dann auf Optionen . Gehen Sie zur Registerkarte " Unter der Haube" . Klicken Sie im Bereich Datenschutz auf die Schaltfläche Browserdaten löschen. Wählen Sie einfach die „Cache leeren“ das Kontrollkästchen, und klicken Sie dann auf die Daten löschen Taste.
Das hat sofort funktioniert - ich musste nicht einmal den Browser schließen.
chrome://net-internals/#dns
hier erwähnten Flush-Trick ohne Erfolg ausprobiert hatte .
Soweit ich weiß, gibt es in neueren Versionen von Chrome (ich bin auf 26.0.1410.43) keine (zuverlässige) Möglichkeit, dies zu tun, zumindest nicht auf einem Mac. Keiner der Vorschläge auf dieser Seite hat für mich funktioniert.
Meine Situation ist, dass ich einen Host- Dateieintrag hinzugefügt habe , Chrome jedoch weiterhin die von DNS zurückgegebene IP-Adresse verwendet. Firefox funktioniert korrekt.
In der Tat chrome://net-internals/#dns
lügt die Seite einfach über die IP-Adresse für mich. Es zeigt die IP des Host-Eintrags an, aber das ist eindeutig nicht der Ort, von dem die Site tatsächlich abgerufen wird.
Ich weiß, dass dies eine alte Frage ist, aber ich habe mich genauso über die Beschwerden geärgert wie andere: Selbst nach dem Leeren des Caches kann es noch ein oder zwei Minuten dauern, bis die neuen DNS-Änderungen wirksam werden.
Es gibt ein paar Möglichkeiten, dies zu umgehen. Nachdem Sie den DNS-Cache über chrome: // net-internals / # dns geleert haben (oder eine Erweiterung verwendet haben, die das gleiche Ergebnis erzielt):
Öffnen Sie ein Inkognito-Fenster und die neuen DNS-Zuordnungen für die Domain werden sofort wirksam.
Leeren Sie den Browser-Cache. Dies ist umständlich, wenn Sie Ihren Browser zum regelmäßigen Browsen verwenden. Sie können eine separate Instanz des Browsers als ein anderer Benutzer ausführen, und das Löschen des Caches in diesem Konto beeinträchtigt nicht Ihren regulären Browser-Cache. Ich habe das nicht ausprobiert, aber es sollte funktionieren.
Drücken Sie STRG + F5. Ich musste STRG + F5 etwa eine Sekunde lang gedrückt halten, wodurch die Seite ein paarmal neu geladen wurde. Das ist seltsam, aber es funktioniert und ist auch genauso effektiv. Dies ist mein bevorzugter Ansatz.
Idealerweise sollte es ein Plugin geben, das DNS und Cache bereinigen kann (insbesondere nur den Dokument-Cache und nicht den Cookie-Cache), aber ich habe noch nichts dergleichen gefunden.
UPDATE: Unter OSX eignet sich die Gas Mask-Anwendung hervorragend zum Wechseln zwischen Host-Dateien, und zusammen mit der zweiten Problemumgehung ist sie recht effektiv.
Es soll das Problem beheben, dass Chrome nach dem Ändern der Hosts-Datei nicht die richtigen Hosts verwenden kann, da Chrome Socket-Pools verwendet.
Chrome verwaltet lange Verbindungen im Verbindungspool, um die Geschwindigkeit zu erhöhen. Wenn Chrome feststellt, dass eine Anfrage eine Verbindung im Verbindungspool wiederverwenden kann, wird sie nicht erneut über den DNS geleitet. Daher nehmen wir immer wahr, dass Chrome nicht sofort auf eine Hoständerung reagiert.
Chrome hat eine Oberfläche zum Leeren des Verbindungspools in der Registerkarte chrome: // net-internals / # sockets bereitgestellt, aber ich finde es ärgerlich, dass ich zuerst in die Registerkarte gehen und so auf eine kleine Schaltfläche mit einem Trackpad klicken muss.
Ich habe festgestellt, dass Chrome beim Klicken auf die Schaltfläche "Socket-Pool leeren" zwei wichtige JavaScript-Methoden ausführt.
g_browser.sendFlushSocketPools();
g_browser.checkForUpdatedInfo(false);
Daher fasse ich diese beiden Methoden in einem AppleScript-Skript zusammen, das in eine OS X-Anwendung oder einen Alfred-Workflow konvertiert werden kann. Beide Methoden können problemlos aufgerufen werden.
Ich habe versucht, den DNS-Cache auf so viele Arten zu leeren, aber bei mir hat nichts funktioniert. Endlich wollte ich meinen DNS-Eintrag ändern . Dieser Trick funktioniert für alle Personen, die über eine Hochgeschwindigkeits-LAN-Verbindung auf das Internet zugreifen.
Bei einer LAN-Verbindung werden einem Benutzer im Allgemeinen zwei DNS-Adressen bereitgestellt. Eine ist die primäre und eine andere die sekundäre oder alternative DNS-Adresse. Was ich getan habe, war, dass ich gerade die sekundäre Adresse in die primäre Adresse geändert habe und umgekehrt. Es hat sofort bei mir funktioniert.
Ich habe die alternative DNS-Adresse zwei Tage lang als primäre Adresse gespeichert. Das Problem löste sich von selbst und später stellte ich den alten DNS-Eintrag wieder her.
Vollständiger Prozess:
In IIS erstellte Site (Windows 8), Hostheader festlegen.
Es wurde versucht, den Host ohne Hostdatei zu erreichen, wobei sichergestellt wurde, dass http: // verwendet wird, sodass nicht nur eine Google-Suche durchgeführt wird. In Chrome fehlgeschlagen "Version 32.0.1700.76 m"
Host zu Host-Datei hinzufügen als 127.0.0.1, jetzt kann es in Chrom treffen.
Entfernen Sie aus der Host-Datei und führen Sie ipconfig / flushdns aus, Chrome zeigt die Site weiterhin an!
Führen Sie nichts anderes als STRG + F5 aus, und jetzt schlägt die Website-Korrektur in Chrome fehl.
Ich frage mich, ob wir bei der Anzahl der Antworten alle leicht unterschiedliche Anwendungsfälle haben.
Für mich hat privates Surfen den Trick gemacht (Neues Inkognito-Fenster / Privates Fenster).
Probieren Sie DNS Flusher für Chrome aus. Beachten Sie, dass für die Verwendung ein Befehlszeilenflag erforderlich ist, --enable-benchmarking
wenn Sie den Chrome-Browser starten.
Navigieren Sie zu chrome: // net-internals / # dns und klicken Sie auf die Schaltfläche "Clear host cache". Wie bereits beantwortet Möglicherweise benötigen Sie auch den Befehl dscacheutil -flushcache in OS X, um den systemweiten DNS-Cache zu leeren. ipconfig / flushdns in der Windows-Eingabeaufforderung
Unter Mac OS X hat keiner der oben genannten Ansätze für mich funktioniert. Der folgende Ansatz hat getan:
Klicken Sie auf das Chrome-Menü> Einstellungen> klicken Sie auf den Link show advanced settings
unten auf der Seite> klicken Sie auf die clear browsing data
Schaltfläche im privacy
Abschnitt> wählen Sie nur cached images and files
und download history
(möglicherweise ist die spätere nicht erforderlich, tut aber auch nicht weh)> klicken Sie auf die clear browsing data
Schaltfläche.
Für iPhone-Nutzer funktionieren diese Techniken genauso effektiv. Ich musste eine Website testen und wollte den normalen DNS-Server überschreiben und meinen eigenen DNS-Server mit DNS-Einträgen verwenden, die noch nicht öffentlich sind.
Ich überschreibe den DNS-Eintrag in meiner WLAN-Einstellung auf meinem iPhone 6 Plus mit meinem benutzerdefinierten DNS-Server. Das war gut genug für Safari und Perfect Browser. Chrome schien dies jedoch zu ignorieren und verfügte über eigene DNS-Einträge. Ich konnte NICHT herausfinden, woher sie kamen.
Ich habe getan, was sie oben beschrieben haben
UND ich musste auch einen InCognito-Tab wie oben erwähnt verwenden.
Nur dann hat Chrome meinen benutzerdefinierten DNS-Eintrag verwendet.