2 votes

Serveurs virtuels Apache basés sur le nom sans DNS

J'ai un serveur web Apache installé sur une machine locale Windows 7 x64. Il n'a pas de nom DNS global.

Dans la distribution par défaut, l'hôte virtuel est configuré dans le fichier Apache/conf/extra/httpd-vhosts.conf.

Il comporte une directive

NameVirtualHost *:80

et de multiples directives

<VirtualHost *:80>

avec différents

ServerName www.domain.tld

Des noms différents sont écrits dans hosts et tous pointant vers 127.0.0.1 .

Malheureusement, les hôtes virtuels ne fonctionnent pas. Seuls les premiers <VirtualHost> Le tag semble être actif. Rien n'est dit sur httpd.exe à partir de et dans error.log .

Comment faire fonctionner les hôtes virtuels ici ?

EDIT

Je ne vois aucune raison pour laquelle le DNS peut être exigé. GET contient le nom symbolique du site, ainsi, le serveur a toutes les informations pour distinguer quel hôte virtuel a été appelé.

EDIT 1

J'ai découvert que les hôtes virtuels fonctionnent (sans DNS !). C'est un problème avec un hôte spécifique.

1voto

GersonO Points 164

Les virtualhosts sont configurés dans le fichier suivant : extra/httpd-vhosts.conf

Voici un exemple de la façon de configurer un hôte virtuel.

<VirtualHost *:80>
ServerAdmin webmaster@website.com
DocumentRoot "/var/sites/website"
<Directory "/var/sites/website">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny   
    Allow from all
</Directory>

ServerName www.website.com
#ServerAlias www1.website.com
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
</VirtualHost>

N'oubliez pas de :

Configurez vos noms Normal et Aliasses sur votre gestionnaire DNS, et n'oubliez pas d'inclure ce fichier dans les directives principales de httpd.conf.

Inclure conf/extra/httpd-vhosts.conf

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X