
Ich habe eine Intranet-Site geerbt, die täglich von Hunderten verschiedener Benutzer aufgerufen wird. Sie alle wissen, wie sie auf die Seite gelangen. Sie geben einfach ein:http://alterServername/Siteund viel Spaß. Wir haben die Site auf den neuen Server verschoben und alles ist gut. Das Problem ist, dass der alte Server ausgemustert wird und sie das so schnell wie möglich erledigen wollen. Der Typ, der die Site erstellt und betrieben hat, hätte das eigentlich im März erledigen sollen, hat es aber aufgeschoben, bis er die Firma verlassen hat, und jetzt drängen mich die Admins wegen der Fristen.
Hier ist mein Dilemma. Wenn wir den alten Server abschalten,http://alterServername/Site(die Seite, die jeder als Lesezeichen gespeichert hat und die seit über 10 Jahren läuft und in allen möglichen Dokumentationen und SOPS aufgeführt ist), funktioniert nicht mehr. Sie müsstenhttp://neuerServername/Siteum auf die gleiche Seite zu kommen. Ich habe den Administratoren gesagt, dass dies alles andere als ideal ist, und um etwas DNS-Liebe gebeten und wurde abgeschaltet.
Sie möchten kein CNAME, sie möchten den alten Server nicht eingeschaltet lassen, sobald der neue Server bereitgestellt ist, und es ist ihnen auch ziemlich egal, weil dies eigentlich im März hätte erledigt werden sollen.
Ich habe das alles erst diese Woche herausgefunden und eine Zeitreise ist keine Option. Welche Möglichkeiten habe ich also ohne CNAME, mit dem alten Server, der immer noch mit einer Warnseite und Umleitung läuft, oder mit einer Zeitmaschine?
Antwort1
Die gute Lösung
Die richtige Lösung besteht darin, den CNAME zu erhalten. Dafür ist DNS konzipiert. Donuts kaufen, Leute am Telefon anschreien und zu einem Manager gehen sind in diesem Fall alles geeignete Maßnahmen.
Die schlechte Lösung
Wenn dies keine Option ist (ich bin mir nicht sicher, ob ich es akzeptieren kann, aber ich werde versuchen, weiterzumachen), wäre meine einzige Strategie, ein Skript zu erstellen, das einen Eintrag zur Hostdatei des Benutzers hinzufügt. Dies würde den DNS-Server im Wesentlichen überschreiben. Wenn Sie über die administrative Kontrolle über einen der Rechner verfügen, können Sie die Hostdatei einfach überschreiben oder anhängen. Einige Informationen zur Hostdatei finden Sie unterhttp://www.howtogeek.com/howto/27350/beginner-geek-how-to-edit-your-hosts-file/
Wenn Sie keine Administratorrechte für die Computer Ihrer Benutzer haben, würde ich die Homepage auf der Site des alten Servers durch einen Download-Link und Anweisungen zum Ausführen Ihres Skripts ersetzen. Es klingt, als hätten Sie bereits eine Zähllösung, aber wenn nicht, fügen Sie der alten Website einen Zähler hinzu, damit Sie sehen und, was noch wichtiger ist, Ihren Vorgesetzten mitteilen können, wie viele Benutzer betroffen sind, wenn die Maschine heruntergefahren wird. Ich würde auch versuchen, alle Unterlagen zu besorgen, in denen der alte Servername durch den neuen ersetzt ist.
Dies wird letztendlich zu einem hohen Aufwand für den Support führen.
Antwort2
Sie können den Weiterleitungsverkehr nutzen, bis die DNS-Ausbreitung abgeschlossen ist
auf altem Server ausführen
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination IPNewServer
iptables -t nat -A POSTROUTING -p tcp -d IPNewServer --dport 80 -j MASQUERADE
aber die endgültige Lösung besteht darin, den DNS zu ändern und 301 Moved Permanently auf dem alten Server zu verwenden
.htaccess:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldservername/site [NC,OR]
RewriteCond %{HTTP_HOST} ^www.oldservername/site [NC]
RewriteRule ^(.*)$ http://newservername/site/$1 [L,R=301,NC]
und wartet, bis Ihr Fuß Ihren Bart berührt, um Ihnen mitzuteilen, dass alle Besucher ihre Lesezeichen ändern