Empfohlenes Tutorial: Linux-Tutorial
Zuerst eine IP-Bindung Multiple Domänennamen sind sehr verbreitet . Um zu unterscheiden, auf welchen Host zugegriffen wird, müssen zwei Aspekte implementiert werden:
1 Unterscheidet der Client zwischen verschiedenen Websites?
Wenn der Client eine Anfrage stellt, fügt er den spezifischen anzufordernden Hostnamen in die HTTP-Anfrage ein, beispielsweise eine Anfrage für den Zugriff auf Google Der Inhalt der Paketerfassungsanalyse lautet wie folgt:
GET / HTTP/1.1 Host: www.google.com
Die gesamte Anfrage wird an den Server gesendet, wobei das Host-Feld den Domänennamen der Website identifiziert, die Sie anfordern möchten ist die gleiche IP-Adresse, da das Feld „Host“ unterschiedlich ist, sodass die Serversoftware eine Möglichkeit hat, zu unterscheiden, welche Website besucht wird.
Für die spezifische Definition des Host-Felds können Sie Abschnitt 14.23 von RFC-2616 lesen: http://www.rfc-editor.org/rfc/rfc2616.txt
Das Folgende ist ein Auszug (Beachten Sie den fett gedruckten Teil):
14.23 Host
Das Host-Request-Header-Feld gibt den Internet-Host und die Portnummer
der angeforderten Ressource an, wie sie von der angefordert werden Original
URI, der vom Benutzer oder der verweisenden Ressource angegeben wurde (im Allgemeinen eine HTTP-URL,
wie in Abschnitt 3.2.2 beschrieben) MUSS die Benennungsautorität des Ursprungsservers oder Gateways darstellen, die von angegeben wurde Dies ermöglicht es dem Ursprungsserver oder Gateway, zwischen intern mehrdeutigen URLs zu unterscheiden, z. B. der Stamm-URL „/“
eines Servers für mehrere Hostnamen auf einer einzelnen IP Adresse.
Außerdem ist RFC-2616 nicht die neueste Spezifikation des HTTP-Protokolls. Spezifische Spezifikationen finden Sie im Beschreibungslink von RFC-2616: Informationen zu RFC 2616
Wenn der Server Apache verwendet, fügen Sie VirtualHost zur Apache-Konfigurationsdatei hinzu, um einen neuen virtuellen Host hinzuzufügen:
<VirtualHost 10.0.0.1> ServerAdmin admin@admin DocumentRoot "D:/website1" ServerName http://myhost1.com DirectoryIndex index.php </VirtualHost> <VirtualHost 10.0.0.1> ServerAdmin admin@admin DocumentRoot "D:/website2" ServerName http://myhost2.com DirectoryIndex index.php </VirtualHost>
Fügen Sie unter Standard-Website->Eigenschaften->Website->Erweitert einfach andere Domänennamen hinzu. Da meine IIS-Version niedriger ist, kann sie die Bindung mehrerer Websites nicht unterstützen. In höheren Versionen von IIS können mehrere Websites konfiguriert werden, und jede Website kann an einen anderen Domänennamen gebunden werden, um beim Zugriff eine Differenzierung zu erreichen.
Wenn der Server keine Standardwebsite festlegt, kann die IP-Adresse nicht direkt auf den Host zugreifen. Wenn Sie also direkt über die IP-Adresse auf die Website zugreifen, werden Sie auf zwei Situationen stoßen:1 Der Server legt eine Standardwebsite fest oder verwendet die IP als Host Name, der mit dem Anforderungsfeld „Host“ übereinstimmt, dann ist dies die Website, auf die Sie über IP zugreifen.
2. Der Server legt keine Standardwebsite fest oder die Standardwebsite ist gesperrt, dann Sie Ich kann nichts über IP öffnen. Normalerweise ist ein 404-Fehler aufgetreten (Seite nicht gefunden). Bei mehreren von mir genutzten virtuellen Hosting-Dienstleistern sind ähnliche Fehler aufgetreten.
Ob es sich um IIS oder Apache oder andere Arten von Website-Serversoftware handelt, unterstützt es nicht nur mehrere Domänennamen, sondern auch mehrere IPs, dh ein Server verfügt über mehrere Domainnamen und mehrere IP-Adressen gleichzeitig stören sich nicht.
Das obige ist der detaillierte Inhalt vonKann eine IP-Adresse mehreren Domänennamen entsprechen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!