Tutoriel recommandé : tutoriel Linux
Tout d'abord, une liaison IP multiple les noms de domaine sont très courants . La plupart des hôtes virtuels loués ont plusieurs hôtes partageant la même IP. Pour distinguer l'hôte auquel on accède, deux aspects doivent être mis en œuvre :
1. Le client fait-il la distinction entre différents sites Web ?
Lorsque le client fait une demande, il inclut le nom d'hôte spécifique à demander dans la requête HTTP. Par exemple, une demande d'accès à Google. passe par Le contenu de l'analyse de capture de paquets est le suivant :
GET / HTTP/1.1 Host: www.google.com
L'intégralité de la requête sera envoyée au serveur, le champ Hôte identifiant le nom de domaine du site Web que vous souhaitez demander même si l'accès. est la même adresse IP, en raison du champ Hôte différent, le logiciel serveur dispose donc d'un moyen de distinguer quel site Web est visité.
Pour la définition spécifique du champ Hôte, vous pouvez lire la section 14.23 de la RFC-2616 : http://www.rfc-editor.org/rfc/rfc2616.txt
Ce qui suit est un extrait (notez la partie en gras) :
14.23 Hôte
Le champ d'en-tête de demande d'hôte spécifie l'hôte Internet et le numéro de port
de la ressource demandée, tels qu'obtenus à partir du original
URI donné par l'utilisateur ou la ressource référente (généralement une URL HTTP,
comme décrit dans la section 3.2.2 La valeur du champ Hôte DOIT représenter
l'autorité de dénomination du serveur ou de la passerelle d'origine donnée par). l'
URL d'origine. Cela permet au serveur ou à la passerelle d'origine de
différencier les URL ambiguës en interne, telles que la racine "/"
URL d'un serveur pour plusieurs noms d'hôte sur une seule IP. adresse.
De plus, la RFC-2616 n'est pas la dernière spécification du protocole HTTP Pour des spécifications spécifiques, veuillez vous référer au lien de description de la RFC-2616 : Informations sur la RFC 2616
<.>2. Comment configurer le côté serveur
Si le serveur utilise Apache, ajoutez VirtualHost au fichier de configuration Apache pour ajouter un nouvel hôte virtuel :<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>Ce qui précède définit deux noms de domaine http://myhost1.com et http://myhost2.com se trouvent respectivement dans des répertoires racine différents avec cette configuration, si Apache reçoit une requête de http://myhost1. .com, il ira à d:/website1. Recherchez la page correspondante. S'il s'agit d'une demande provenant de http://myhost2.com, accédez à d:/website2 pour trouver la page correspondante. Habituellement, Apache dispose également d'un site Web par défaut, accessible à l'aide de l'adresse IP. Si ce site Web est défini comme invalide, l'hôte ne peut pas accéder directement aux ressources HTTP via l'adresse IP.
Pour IIS, IIS peut utiliser la même adresse IP pour lier plusieurs sites. Pour plus de détails, veuillez vous référer à la figure ci-dessous :
Dans Site Web par défaut->Propriétés->Site Web->Avancé, ajoutez simplement différents noms de domaine. Étant donné que ma version d'IIS est inférieure, elle ne peut pas prendre en charge la liaison de plusieurs sites Web. Dans les versions supérieures d'IIS, plusieurs sites Web peuvent être configurés et chaque site Web peut être lié à un nom de domaine différent pour obtenir une différenciation lors de l'accès.
Si le serveur ne définit pas de site Web par défaut, l'adresse IP ne peut pas accéder directement à l'hôte.
Ainsi, si vous accédez au site Web directement via l'adresse IP, vous rencontrerez deux situations :
1 Le serveur définit un site Web par défaut ou utilise l'IP comme hôte. nom correspondant au champ Hôte de la demande, alors il s'agit du site Web auquel vous accédez via IP2. Le serveur ne définit pas de site Web par défaut, ou le site Web par défaut est banni, alors vous Je ne peux rien ouvrir via IP. Habituellement, j'ai rencontré une erreur 404 (page introuvable) J'ai rencontré des erreurs similaires chez plusieurs fournisseurs de services d'hébergement virtuel que j'ai utilisés.
De plus, qu'il s'agisse d'IIS ou d'Apache ou d'autres types de logiciels de serveur de sites Web, il prend non seulement en charge plusieurs noms de domaine, mais prend également en charge plusieurs adresses IP, c'est-à-dire qu'un serveur a plusieurs les noms de domaine et plusieurs adresses IP en même temps n’interfèrent pas les uns avec les autres.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!