10.8. Hôtes virtuels

L'hébergement intégré des hôtes virtuels du Serveur HTTP Apache permet au serveur de fournir différentes informations en fonction de l'adresse 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 basé sur le nom consiste à utiliser le conteneur d'hôte virtuel fourni à titre d'exemple dans httpd.conf.

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

#NameVirtualHost *:80
#
#<VirtualHost  *:80>
#    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 le symbole de l'astérisque (*) accompagné de 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 pour qu'il écoute un port autre que le défaut, ce port doit être ajouté à la directive Listen dans la partie relative aux paramètres globaux du fichier /etc/httpd/conf/http.conf.

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

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é. Aussi bien le serveur non-sécurisé que le serveur sécurisé utilisent la même adresse IP et le même nom d'hôte, mais écoutent 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 souvent 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, aussi bien le serveur Web, sécurisé que le serveur non-sécurisé partagent le même DocumentRoot. Il est cependant recommandé qu'un DocumentRoot différent soit disponible pour le serveur Web sécurisé.

Afin que le serveur Web non-sécurisé n'accepte plus de connexions, annulez la ligne Listen 80 du fichier httpd.conf en ajoutant un symbole dièse (#) au début de cette 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 de l'organisation Apache Software Foundation qui est disponible en ligne aux adresses suivantes :