Apache HTTP Server Version 1.3
Configurer les adresses et ports qu'Apache utilise
Lorsqu'Apache démarre, il établit une liaison interne à un socket de la machine locale et attend des requêtes sur ce socket. Par défaut, il "écoute" toutes les adresses définies pour cette machine, sur un port défini par la directive Port inscrite dans le fichier de configuration. Cependant, on pourra lui demander d'écouter sur d'autres ports, ou au contraire de n'écouter que sur certaines adresses, ou enfin uine combinaison des deux critères. Cette focntionnalité se combine souvent avec la possibilité de définir des Hôtes Virtuels permettant à Apache de répondre différemment suivant l'adresse IP, le numéro de port, ou le nom d'hôte auxquels la requête est destinée.
Deux directives permettent de restreindre ou spécifier explicitement quelles adresses et quels ports Apache "écoute".
- BindAddress est utilisé pour obliger le serveur à n'écouter qu'une seule adresse. Il est possible alors d'exécuter plusieurs instances d'Apache sur la même machine, chacune d'entre elles s'occupant plus particulièrement d'une adresse IP d'entrée.
- Listen permet de définir un certain nombre de sockets (multiples) qu'Apache écoutera.
Syntaxe : BindAddress [ * | addresse-IP | nomHôte ]
Défaut : BindAddress *
Contexte : configuration serveur
Statut : Core
Indique au serveur qu'il doit écouter sur l'adresse unique spécifiée. Si l'argument est *, le serveur écoute toutes les adresses définies pour la machine. Le port à écouter pour l'adresse (ou toutes les adresses) défini est fixé par la directive Port. On utilisera qu'une seule inscription de directive BindAddress dans un fichier de configuration.
Syntaxe : Listen [ port | adresse-IP:port ]
Défaut : aucune
Contexte : configuration serveur
Statut : Core
Listen peut être employé en lieu et place du couple BindAddress et
Port. Elle spécifie que le serveur doit traiter les requêtes arrivant sur le port ou les sockets (adresse:port) spécifiés. Si seul le premier format est utilisé (celui ne spécifiant qu'un numéro de port) le serveur écoutera le port indiqué sur toutes les interfaces réseau, ce qui outrepasse la directive Port éventuelle. Si l'argument contient un socket entièrement spécifié (adresse-IP et port), le serveur restreindra son écoute au port indiqué sur l'interface indiquée.
On pourra utiliser plusieurs directives Listen dans un fichier de configuration, de façon à permettre l'écoute sur plusieurs sockets ou ports différents. Le serveur répondra à toutes les requêtes arrivant sur ces sockets.
Par exemple, pour que le serveur accepte des requêtes arrivant sur les ports
80 et 8000, vous écrirez :
Listen 80
Listen 8000
Pour permettre au serveur d'accepter des requêtes uniquement sur deux sockets précis, vous écrirez :
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
Coment ceci interfère avec les Hôtes Virtuels
BindAddress et Listen n'implémentent pas des Hôtes Virtuels. Elles précisent seulement quelles adresses et quels ports le serveur principal écoute. Si aucune directive <VirtualHost> n'a été défini, le serveur aura le même comportement pour toutes les requêtes acceptées. Cependant, la directive <VirtualHost> peut
être utilisée pour modifier le comportement du serveur sur certaines adresses et ports précis écoutés par le serveur. Pour mettre en oeuvre un Hôte Virtuel, il faudra néanmoins que le serveur sache écouter l'adresse et le port associés à la définition de cet hôte. Une section <VirtualHost> sera créée pour une combinaison adresse+port donnée, laquelle combinaison devra apparaître dans une directive Listen. Notez que, si tel n'est pas le cas, votre Hôte Virtuel sera "concrètement" innaccessible.
Voir aussi
Consultez aussi la documentation sur
Hôtes Virtuels,
Directive BindAddress,
Directive Port,
Apache et DNS
and
Sections <VirtualHost>.
Apache HTTP Server Version 1.3
Version française © Valery Fremaux / EISTI 1998