hôte virtuel Apache
伊谢尔伦
伊谢尔伦 2017-05-16 16:57:58
0
3
779

Je recherchais récemment des hôtes virtuels, puis j'ai configuré deux hôtes virtuels comme suit

L'un d'eux a ServerName défini sur 127.0.0.1. Ajoutez ensuite

au fichier hosts sur le lecteur C

Puis la question se pose.
Lorsque je saisis directement www.abc.com dans le navigateur, j'accéderai au projet E:/wamp/crm Pourquoi ? www.abc.com ne correspond-il pas à 127.0.0.1 dans les hôtes ? Ne devrait-il pas être accessible par E:/wamp/wamp/www ? Puis lorsque je saisis directement 127.0.0.1 dans le navigateur, j'accède au projet E:/wamp/wamp/www? Je ne comprends tout simplement pas ici. . . . S'il te plaît, aide-moi, mon Dieu. . . . . .

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous(3)
洪涛

Le document officiel est ici : Une discussion approfondie sur la correspondance des hôtes virtuels

Vous appartenez à "Name-based vhost", lisez simplement ce paragraphe :

S'il existe plusieurs directives VirtualHost répertoriant l'adresse IP
et la combinaison de ports qui ont été déterminées comme étant la meilleure correspondance, la
"liste" dans les étapes restantes fait référence à la liste des vhosts qui
correspondaient, dans l'ordre dans lequel ils se trouvaient. le fichier de configuration.

Permettez-moi de le traduire brièvement. Lorsque l'adresse IP et le port du vhost correspondent (c'est *:80 ici), Apache les fera correspondre dans l'ordre en fonction de l'ordre des vhosts dans le fichier de configuration du vhost.

Si la connexion utilise SSL, le serveur prend en charge le nom du serveur
Indication et la prise de contact du client SSL inclut l'extension TLS
avec le nom d'hôte demandé, alors ce nom d'hôte est utilisé ci-dessous tout comme l'en-tête Host: serait utilisé sur un connexion non SSL.
Sinon, le premier vhost basé sur le nom dont l'adresse correspond est utilisé
pour les connexions SSL. Ceci est important car le vhost détermine
quel certificat le serveur utilisera pour la connexion.

.
S'il s'agit d'une connexion SSL, le nom d'hôte sera trouvé en fonction du SNI dans les informations de négociation TLS. Si SNI n'est pas pris en charge, il sera mis en correspondance avec le premier hôte virtuel dont l'adresse IP et le port (ici se réfère toujours à *:80) correspondent.

Si la requête contient un champ d'en-tête Host:, la liste est recherchée

le premier hôte virtuel avec un nom de serveur ou un alias de serveur correspondant, et la
demande est servie à partir de ce hôte virtuel. Un champ d'en-tête Host: peut contenir un
numéro de port, mais Apache l'ignore toujours et compare le port réel auquel le client a envoyé la demande.

Si l'en-tête HTTP contient des informations sur l'hôte, il sera associé au premier hôte virtuel correspondant
. Parfois, l'hôte contiendra des informations sur le port, mais Apache ne lira pas ce port.

ServerName或者ServerAliasLe premier vhost du fichier de configuration avec l'adresse IP spécifiée a la priorité la plus élevée et intercepte toute requête adressée à un nom de serveur inconnu, ou une requête sans champ d'en-tête Host: (telle qu'une requête HTTP/1.0).

S'il n'y a pas de correspondance, envoyez-le au vhost qui correspond au premier port IP (en faisant référence à votre *:80)

Le site abc.com que vous avez visité est-il le premier CRM ? Non, est-ce 127.0.0.1 (uniquement si vous saisissez 127.0.0.1 directement dans la barre d'adresse) ? Non, alors utilisez la valeur par défaut, qui est la configuration du premier CRM.

过去多啦不再A梦

Personnellement, je pense que serverName est inutile, donc selon le principe d'adaptation prioritaire, le port 80 est directement la première règle. Si vous souhaitez vraiment connecter deux sites, utilisez simplement le numéro de port pour les distinguer~
Vous pouvez également lire la documentation. Traducteur recommandé pour les documents chinois : Jin Buguo.

大家讲道理

Le nom de domaine est utilisé pour résoudre en IP, donc les deux sont 127.0.0.1
Et vos deux ports sont également 80, vous ne pouvez donc accéder qu'au premier

Vous remplacez le suivant par 8080 et utilisez le port 8080 pour accéder au second

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!