Ich habe hier eine Reihe relevanter Fragen und Antworten gelesen, bin mir aber immer noch nicht sicher, was die beste Antwort ist.
Ich verschiebe einige Websites von der IP-Adresse "1.abc" nach "2.def". Ab sofort setze ich im vorhandenen DNS alle TTL auf 300 Sekunden und habe eine neue DNS-Zone zur Verwendung bereit (auf AWS Route 53), mit neuen Nameservern und allen TTLs bei 60 Sekunden. Ich glaube also, dass ich aus DNS-Sicht bereit bin. Nach dem Umzug werde ich nach einigen Tagen die TTL auf der Route 53 auf vernünftigere Zahlen einstellen.
Ich habe alle meine Benutzer vor dem Umzug gewarnt und habe ein definiertes Zeitfenster für den Umzug. Ich sagte ihnen, dass sie nach Abschluss des Umzugs und wenn 24 Stunden vergangen sind und sie immer noch die alten (gesperrten) Sites sehen, ihren Computer neu starten sollten, um eine lokale DNS-Cache-Leerung zu erzwingen.
Ich verstehe nicht, wie der Browser (Cache) des Benutzers dabei eine Rolle spielt. Meine eigenen Experimente mit einer lokalen Hosts-Datei (Win7) haben ergeben, dass der Browser die alte IP-Adresse nicht loslässt - ich musste in den Verlauf gehen -> alles löschen , damit der neue Standort angezeigt wird auch danachipconfig /flushdns
(BEARBEITEN) - Ich habe keinen Root-Zugriff auf den alten Server, daher kann ich die akzeptierte Antwort auf diese Frage nicht implementieren .
Frage: Ich möchte wirklich nicht, dass meine Benutzer sich damit befassen müssen. Kann ich also etwas tun, um alle Browser zum erneuten Zwischenspeichern zu zwingen? Und wenn ja, wie lange lasse ich es eingeschaltet?
Vielen Dank...
My own experiments with a local hosts file (Win7) tell me there is something about the browser that is not letting the old IP address go
Können Sie dazu einige Informationen geben? Afaik, Browser zwischenspeichern DNS-Einträge nicht länger als 1 Minute.Antworten:
Nein, das kannst du nicht. Das Problem ist, dass die DNS-Antwort überall zwischen Benutzer und DNS-Server zwischengespeichert werden kann und es keine Möglichkeit gibt, sie ungültig zu machen.
Was Sie jedoch tun können - Sobald Sie Daten synchronisiert haben und Ihr zweiter Standort bereit ist, können Sie den ursprünglichen Server so konfigurieren, dass er sich als Proxy verhält, und alle Anforderungen an den neuen Speicherort weiterleiten.
Auf diese Weise können Sie Ausfallzeiten Ihrer Website von fast 0 Sekunden erreichen.
Aktualisieren
Wenn Sie keinen Root-Zugriff haben, gibt es mehrere Möglichkeiten:
Führen Sie das Proxying in PHP durch
Konfigurieren Sie den Proxy auf dem zweiten Server (wenn Sie dort Root-Zugriff haben), wechseln Sie den DNS und ändern Sie den Proxy auf den Webserver, wenn Sie bereit sind
Diese Methode kann zu Problemen führen. Haben Sie 2 Adressen (www.domain.tld und www2.domain.tld). Konfigurieren Sie www2 (das gleiche wie www) und stellen Sie die richtigen DNS-Einträge ein. Bereiten Sie dann die WWW-Version Ihrer Site vor und wechseln Sie den DNS. Stellen Sie die Umleitung aller Anforderungen auf dem alten Server auf die Unterdomäne www2 ein.
quelle
Theoretisch sollte das Festlegen der TTL der Domäne auf einen niedrigen Wert und das Warten auf diese Änderung und das anschließende Ändern der IP zu einer nahezu transparenten Migration führen. Schließlich ist das der springende Punkt bei der Konfigurierbarkeit der TTL.
In der Praxis konfigurieren Menschen Dinge falsch und Werkzeuge brechen. Aus diesem Grund müssen Sie Ihren Benutzern möglicherweise Anweisungen geben, um ihren lokalen Cache zu leeren, wenn die Dinge nicht richtig funktionieren.
Du machst aber nichts falsch.
quelle
Ihre alte Adresse wird zwangsläufig für eine lange Zeit zwischengespeichert und verwendet - meistens von Bots.
Wie ich es machen würde:
www2.yourdomain.com
auf eine neue IP verweist. Dieser Datensatz sollte niemals zuvor verwendet worden sein. daher nie zwischengespeichert.www2.yourdomain.com
www2.yourdomain.com
zu weiterwww.yourdomain.com
.Stellen Sie sicher, dass Sie 301 permanente Weiterleitungen verwenden. https://en.wikipedia.org/wiki/HTTP_301
quelle
Klingt so, als würden Sie gleichzeitig Ihre Nameserver ändern? Aufgrund der Art und Weise, wie Nameserver erkannt werden, dauert die Aktualisierung viel länger als bei einem normalen Datensatz - häufig etwa 24 Stunden oder länger.
Ich würde Ihnen dringend empfehlen, das DNS bei Ihrem aktuellen Anbieter zu aktualisieren, bevor Sie das DNS ändern, oder Ihre Nameserver 7 Tage vor dem Ändern der Website-IP zu ändern.
Moderne Computer und Browser sind ziemlich zuverlässig darin, TTLs mit DNS zu befolgen, aber Sie müssen die gesamte Kette verstehen, um die besten Ergebnisse zu erzielen.
quelle