Serveur Apache HTTP Version 2.0
Configuration des adresses et ports sur lesquels Apache �coute.
Modules Apparent�s | Directives Apparent�es |
---|---|
Au moment de son d�marrage, Apache se lie � un port et � une adresse sur la machine et se met en attente de requ�tes entrantes. Par d�faut, toutes les adresses de la machine se retrouvent � l'�coute. Dans tous les cas, Apache accepte d'�couter sur un ou plusieurs ports sp�cifiques, ou sur une seule ou plusieurs adresses, ou encore une combinaison des deux. Il est fr�quent d'utiliser ces possibilit�s avec les fonctionnalit�s de Serveurs Virtuels, qui permettent de faire r�pondre Apache de mani�re diff�rente en fonction de l'adresse IP, du nom ou du port.
Le serveur utilise la directive
Listen
pour n'accepter que des requ�tes provenant de ports sp�cifiques ou
d'une combinaison adresse IP + port pass�s en argument.
Dans le cas o� seul un port est sp�cifi� avec la directive
Listen
,
le serveur se met � l'�coute sur le port sp�cifi�, sur toutes
les interfaces et adresses de la machine. Si une adresse IP est
pr�cis�e en plus du port, le serveur n'�coute que sur l'adresse
et le port sp�cifi�s. Il est possible de configurer plusieurs
directives Listen
,
afin qu'Apache �coute sur plusieurs adresses
et ports. Dans ce cas, le serveur r�pondra aux requ�tes faites
sur tous les adresses et ports �num�r�s.
Par exemple, pour que le serveur accepte les connexions � la fois sur les ports 80 et 8000, sp�cifiez :
Listen 80
Listen 8000
Pour qu'Apache accepte les connexions sur deux combinaisons adresses + ports, sp�cifiez :
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
Les adresses IPv6 sont accept�es, pourvu qu'elles soient entour�es entre crochets de la fa�on suivante :
Listen [fe80::a00:20ff:fea7:ccea]:80
De plus en plus de plates-formes impl�mentent IPv6, et APR supporte IPv6 sur la plupart d'entre elles, si bien qu'Apache peut utiliser des sockets IPv6 et r�pondre aux requ�tes envoy�es en IPv6.
Une complication possible pour les administrateurs Apache est de
savoir si un socket IPv6 est capable de g�rer les connexions IPv4
aussi bien qu'IPv6. G�rer les connexions IPv4 sur une socket IPv6
suppose l'utilisation d'adresses IPv6 mapp�es en IPv4, ce qui est
le cas sur la plupart des plates-formes, mais pas sur FreeBSD, NetBSD
et OpenBSD, en raison des politiques syst�mes de ces plates-formes.
M�me sur des syst�mes o� cette fonctionnalit� n'est pas activ�e par
d�faut, un param�tre de compilation pour configure
permet de changer ce comportement pour Apache.
Pour qu'Apache puisse g�rer � la fois les connexions IPv4 et IPv6
avec un minimum de sockets, il faut permettre l'utilisation des adresses
IPv6 mapp�es en IPv4, ce qui est faisable en sp�cifiant l'option
de compilation --enable-v4-mapped
et en utilisant la
directive g�n�rique Listen
comme suit :
Listen 80
Si --enable-v4-mapped
a �t� sp�cifi� � la compilation,
les directives Listen de la configuration par d�faut sont de la forme
ci-dessus. --enable-v4-mapped
est l'option de compilation
par d�faut sur toutes les plates-formes, sauf pour FreeBSD, NetBSD, et
OpenBSD, donc il est probable que votre Apache ait �t� compil� avec
cette option.
Pour qu'Apache ne g�re que les connexions IPv4, en ignorant l'�ventuel
support IPv6 de la plate-forme ou d'APR, une adresse IPv4 peut �tre
donn�e dans toutes les directives
Listen
, comme dans les
exemples suivants :
Listen 0.0.0.0:80
Listen 192.170.2.1:80
Pour qu'Apache g�re les connexions IPv4 et IPv6 sur des sockets
diff�rents (i.e., pour ne pas accepter les adresses IPv6 mapp�es
en IPv4), sp�cifiez l'option de compilation
--disable-v4-mapped
et utilisez des directives
Listen sp�cifiques telles que :
Listen [::]:80
Listen 0.0.0.0:80
Si le param�tre --disable-v4-mapped
a �t� d�fini
au moment de la compilation, les directives Listen de la
configuration par d�faut sont de la forme ci-dessus.
--disable-v4-mapped
est l'option de
compilation par d�faut sous FreeBSD, NetBSD, et OpenBSD.
La directive Listen
n'impl�mente aucun Serveur Virtuel. Elle sert simplement �
indiquer au serveur principal sur quels adresses et ports �couter.
Dans le cas o� aucune section
<VirtualHost>
n'est utilis�e, le serveur r�pondra de la m�me mani�re pour toutes
les requ�tes qu'il recevra.
Des sections
<VirtualHost>
peuvent �tre utilis�es pour qu'Apache r�agisse diff�remment selon que la
requ�te est destin�e � telle adresse ou � tel port. Avant d'impl�menter
un Serveur Virtuel au moyen de la directive VirtualHost, la directive
Listen doit �tre configur�e pour que le serveur �coute sur l'adresse
ou le port utilis�. Ensuite, une section
<VirtualHost>
devrait �tre utilis�e pour qu'Apache r�agisse diff�remment selon
l'adresse ou le port.
� noter que si un Serveur Virtuel
<VirtualHost>
est configur� sur une adresse et un port sur lesquels le serveur
n'est pas � l'�coute, le Serveur Virtuel ne sera pas accessible.