
Wie kann ich es erreichen, dass ich eine IP-Adresse im Internet habe, aber viele Webnamen? Zum Beispiel, wenn ein Hosting-Unternehmen eine gemeinsam genutzte IP hat, ich aber unbegrenzt viele Domänennamen bekomme (zusammen mit allen anderen auf dieser Box).
Ich habe eine Box im Internet, möchte aber auf eine andere Maschine verweisen, die eine andere Website enthält, wenn jemand das andere www eingibt... (es befindet sich direkt daneben, nur in einer anderen Box). Ist das alles Subdomaining? Danke.
Ich bin das Hosting-Unternehmen
Antwort1
Es ist Teil des HTTP 1.1-Protokolls.
Insbesondere enthält das HTTP 1.1-Protokoll einen Header namens „host:“, der angibt, auf welche Website auf einem bestimmten Server der Client zuzugreifen versucht.
Wenn also snoopy.net und woodstock.org beide die Adresse 192.0.32.10 gemeinsam nutzen und Ihr Browser versucht, Inhalte aus http://snoopy.net/doghouse
der spezifischen HTTP-Anfrage abzurufen, sähe dies folgendermaßen aus:
GET /doghouse HTTP/1.1
Host: snoopy.net
Wenn die gewünschte URL ist, http://woodstock.org/seeds
würde die Anfrage wie folgt aussehen
GET /seeds HTTP/1.1
Host: woodstock.org
In beiden Fällen besteht ein TCP-Socket zwischen Ihrem Computer und Port 80 des Servers. Der Server weiß anhand des Host-Headers, dass er Inhalte von /var/www/snoopy.net oder /var/www/woodstock.org/ abrufen muss.
Es gibt zwar weitere Header für Cookies und andere Dinge wie Browsertyp und zulässige Inhalte, aber insbesondere der „Host“-Header ermöglicht es dem Webserver, zu erkennen, welche virtuelle Website gewünscht wird.
Es gibt mehr in derRFC2616.
Aus diesem Grund sind auch https-Sitesmuss** haben eine eigene IP-Adresse – der SSL-Schlüsselaustausch und die Zertifikatsüberprüfung finden vor der HTTP-Transaktion statt, sodass der HTTP-Server nicht weiß, dass er das Zertifikat für „woodstock.org“ oder „snoopy.net“ herausgeben soll, wenn er eine HTTPS-Verbindung auf Port 443 von 192.0.32.10 empfängt.
bearbeiten
** in den KommentarenGravitationweist darauf hin, dass es in der TLS-Spezifikation Erweiterungen für SSL gibt, die es dem Server ermöglichen, zu erkennen, auf welche Website der Benutzer zugreifen möchte, und dass die meisten modernen Webbrowser über diese Erweiterungen verfügen.mussist etwas zu stark.
Antwort2
Es gibt etwas, das alle modernen Browser zusammen mit der Anfrage senden, den sogenannten „Host:“-Header.
Die tatsächliche Anfrage, die Firefox für diese Seite sendet, lautet:
Host: superuser.com Benutzer-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729) Akzeptieren: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Akzeptieren-Sprache: en-us,en;q=0.5 Akzeptierte Kodierung: gzip,deflate Akzeptierter Zeichensatz: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Verbindung: Keep-Alive
Wie Sie sehen können,
Host: superuser.comBit identifiziert die betreffende Website.
In IIS und Apache können Sie virtuelle Websites konfigurieren, die nur Anfragen von einer bestimmten IP/Host-Kombination akzeptieren.
Was Ihr spezielles Problem betrifft, müssen Sie nachlesen, wie Sie die Konfiguration bei Ihrem speziellen Hosting-Unternehmen anfordern sollen.
Antwort3
Die Technik zum Hosten von mehr als einer Domäne/Subdomäne auf einer einzigen IP-Adresse/einem einzigen Host heißtvirtuelle Hosts. Die HTTP-Get-Anforderung enthält den Domänennamen, auf den sich die Anforderung bezieht, wodurch der Webserver die Anforderung einer bestimmten virtuellen Domäne zuordnen kann.
Wenn Sie intern mehrere physische Hosts mit nur einer externen IP haben, sollten Sie sich mit der Einrichtung befassenReverseproxyum die Anfragen an die richtige Maschine/interne IP-Adresse weiterzuleiten.
Antwort4
Zusamenfassend...
Erstens: Richten Sie die DNS-Einträge für Ihre verschiedenen Domänen so ein, dass sie alle auf Ihre Box verweisen.
Zwei - Richten Sie Ihren Webserver (Sie sagen nicht, welchen) wie von anderen beschrieben so ein, dass er mit dem angeforderten Hostnamen übereinstimmt.
Auf diese Weise werden alle Anfragen für alle Ihre Domänen an dieselbe Maschine gesendet und deren Konfiguration übernimmt die angeforderte Domäne und leitet sie an den richtigen Ordner weiter, der den Inhalt dieser Site enthält.