Wie leite ich eine Domain lokal auf eine andere Domain um?

26

Meine / etc / hosts-Datei sieht folgendermaßen aus:

127.0.0.1       localhost
10.20.7.67      testsitealpha.dev
othersite.dev   testsitebeta.dev

Die ersten beiden arbeiten. Der letzte tut es nicht. Warum nicht? Wie bringe ich es zum Laufen? Der Grund dafür ist, dass ich einen Testserver (othersite.com) im lokalen Netzwerk habe, dessen IP-Adresse jedoch variieren kann. zB 10.20.7.98 an einem Tag, 10.20.7.35 an einem anderen usw.

Wie kann ich also dafür sorgen, dass mein System testsitebeta.dev immer auf dieselbe IP-Adresse wie othersite.dev auflöst?

Benubird
quelle

Antworten:

11

Wie Chris bereits schrieb, ist das Problem, dass "othersite.dev" keine Zahl ist. Das Format, das Sie benötigen, ist IP hostname1 [hostname2] [hostname3].

Das tiefere Problem ist jedoch ein Missverständnis über die Host-Datei und möglicherweise über DNS im Allgemeinen. Grundsätzlich war die Host-Datei nicht für Umleitungen ausgelegt. Es war eine einfache Lösung, als CPU-Zyklen teuer waren. Es fehlten Funktionen wie die Möglichkeit, sich schnell an sich ändernde IP-Adressen anzupassen, ohne eine Datei manuell bearbeiten zu müssen. Diese Probleme wurden behoben, indem von der Hostdatei auf ein netzwerkbasiertes Resolversystem umgeschaltet wurde.

Die eigentliche Antwort auf Ihr Problem ist daher nicht die Verwendung /etc/hosts, sondern die Verwendung dieses hierarchisch verteilten Benennungssystems . Sie können dies auf verschiedene Arten tun. Eine Möglichkeit ist der von Chris vorgeschlagene CNAME. Eine andere Möglichkeit wäre, dem zweiten Server eine feste IP-Adresse zuzuweisen. Sowohl eine echte statische Adresse, als auch eine Reservierung im DHCP-Server.

Hennes
quelle
1
Keine Antwort, nach der ich suche. Dies ist für die Entwicklung; Ich möchte keine anderen Computer ändern, da der Domänenname (testsitebeta.dev) nur von meinem lokalen Computer aus zugänglich sein muss. Ich möchte meinem Computer nur mitteilen, dass der Name X wie Y behandelt werden soll.
Benubird
3
In diesem Fall möchten Sie einen lokalen DNS-Server installieren und diesen als Resolver verwenden.
Hennes
4
Der lokale DNS-Server scheint die Lösung zu sein. Für zukünftige Besucher, fand ich diese Informationen hilfreich: superuser.com/q/45789/75287
Benubird
@Benubird: Ich suche auch nach der gleichen Lösung. Aber konnte es nicht bekommen. Können Sie uns etwas näher erläutern, wie Sie sich einrichten?
Jay Chakra
3

Das Format von / etc / hosts ist "IP" "Hostname" - ähnlich 127.0.0.1 localhost

Sie benötigen einen CNAMEin Ihrem lokalen DNS-Server, um das zu erreichen, was Sie benötigen. Sie könnten die IP der "othersite.dev" erhalten und sie mit "testitbeta.dev" verknüpfen, wie Sie es mit "testitalpha.dev" getan haben, aber wenn sich diese IP ändert, müssen Sie auch Ihre /etc/hostsDatei ändern .

Chris
quelle
1

Wenn othersite.com eine dynamische IP hat, aber immer über den Namen erreichbar ist, müssen Sie sich auf den registrierten DNS verlassen, indem Sie ihn immer über den Namen referenzieren.

Ihre Lösung besteht darin, testsitebeta.dev zu einer umleitenden URL für othersite.com zu machen.

Servername testsitebeta.dev Weiterleitung / http://othersite.com

Auf diese Weise funktioniert othersite.com immer (ohne dass ein fehlerhafter Hosteintrag vorliegt) und testsitebeta.dev wird immer zu othersite.com umgeleitet, indem der Name in die richtige IP-Adresse aufgelöst wird.

user557515
quelle