10.8. Hôtes virtuels

La fonction des hôtes virtuels intégrée du Serveur HTTP Apache permet au serveur de servir des informations différentes en fonction de l'adresses IP, du nom d'hôte ou du port faisant l'objet de la requête. Un guide complet sur l'utilisation des hôtes virtuels est disponible en ligne à l'adresse suivante : http://httpd.apache.org/docs-2.0/vhosts/.

10.8.1. Configuration d'hôtes virtuels

La meilleure façon de créer un hôte virtuel nommé consiste à utiliser le conteneur d'hôte virtuel fourni dans httpd.conf à titre d'exemple.

L'exemple d'hôte virtuel se présente de la manière suivante :

#NameVirtualHost *
#
#<VirtualHost  *>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

Pour activer la fonction d'hôte virtuel nommé, dé-commentez la ligne NameVirtualHost en retirant le symbole dièse (#) et en le remplaçant par l'astérisque (*) avec l'adresse IP attribuée à l'ordinateur.

Configurez ensuite un hôte virtuel, en dé-commentant et personnalisant le conteneur <VirtualHost>.

Sur la ligne <VirtualHost>, remplacez l'astérisque (*) par l'adresse IP du serveur. Remplacez aussi ServerName par le nom d'un DNS valide assigné à l'ordinateur et configurez les autres directives selon les besoins.

Étant donné que le conteneur <VirtualHost> accepte presque toutes les directives disponibles dans le cadre de la configuration du serveur principal, sa capacité à être personnalisé est très élevée.

TuyauAstuce
 

Si vous configurez un hôte virtuel et souhaitez qu'il écoute un port non-défini par défaut, ce dernier doit être ajouté à la directive Listen dans la partie des paramètres globaux du fichier /etc/httpd/conf/http.conf.

Afin de pouvoir activer l'hôte virtuel venant d'être créé, le Serveur HTTP Apache doit être rechargé ou redémarré. Reportez-vous à la Section 10.4 pour obtenir des instructions sur ces opérations.

Des informations complètes sur la création et la configuration d'hôtes virtuels sur la base du nom ou de l'adresse IP sont fournies en ligne à l'adresse suivante : http://httpd.apache.org/docs-2.0/vhosts/.

10.8.2. Hôte virtuel du serveur Web sécurisé

Par défaut, le Serveur HTTP Apache est configuré aussi bien comme un serveur Web non-sécurisé que comme un serveur sécurisé. Les deux serveurs (non-sécurisé et sécurisé) utilisent la même adresse IP et le même nom d'hôte, mais contrôlent des ports différents, à savoir, 80 et 443 respectivement. Ce faisant, des communications aussi bien non-sécurisées que sécurisées peuvent être établies simultanément.

Il est important de savoir que les transmissions HTTP améliorées grâce à SSL monopolisent cependant plus de ressources que le protocole HTTP standard et que par conséquent, un serveur sécurisé sert moins de pages par seconde. Dans de telles conditions, il est recommandé de minimiser les informations disponibles à partir du serveur sécurisé, tout particulièrement sur un site Web très solicité.

ImportantImportant
 

N'utilisez pas d'hôtes virtuels nommés de concert avec un serveur Web sécurisé car le protocole de transfert SSL intervient avant que la requête HTTP n'identifie l'hôte virtuel nommé approprié. Les hôtes virtuels nommés ne fonctionnent qu'avec un serveur Web non-sécurisé.

Les directives de configuration pour du serveur sécurisé se trouvent entre des balises d'hôte virtuel dans le fichier /etc/httpd/conf.d/ssl.conf.

Par défaut, les deux serveurs Web, sécurisé et non-sécurisé, partagent le même DocumentRoot. Il est cependant recommandé que DocumentRoot soit différent pour le serveur Web sécurisé.

Afin que le serveur Web non-sécurisé n'accepte plus de connexions, mettez en commentaire la ligne qui se trouve dans httpd.conf et qui stipule Listen 80 en ajoutant un symbole dièse (#) au début de la ligne. Une fois cette opération terminée, la ligne ressemblera à l'extrait ci-dessous :

#Listen 80

Pour plus d'informations sur la configuration d'un serveur Web utilisant SSL, reportez-vous au chapitre intitulé Configuration du serveur HTTP Apache sécurisé du Guide d'administration système de Red Hat Enterprise Linux. Pour obtenir des astuces de configuration avancées, consultez la documentation d'Apache Software Foundation disponible en ligne aux URL suivantes :