Serveur Apache HTTP Version 2.2
Configuration d'Apache pour l'�coute sur un port et une adresse IP sp�cifiques.
Modules Apparent�s | Directives Apparent�es |
---|---|
Au d�marrage d'Apache, un port et une adresse lui sont associ�s sur l'h�te local et le serveur se met en attente de l'arriv�e d'une requ�te. Par d�faut, le serveur �coute toutes les adresses de l'h�te local. Cependant, on peut lui pr�ciser des ports sp�cifiques � �couter, ou lui dire de n'�couter que sur certaines adresses, ou une combinaison des deux. Tout ceci est souvent associ� avec la fonctionnalit� des h�tes virtuels qui d�termine la mani�re dont Apache r�pond aux diff�rents ports, noms d'h�tes et adresses IP.
La directive Listen
enjoint le serveur de n'accepter des requ�tes que sur les ports sp�cifi�s ou
une combinaison adresse/port. Si seul un num�ro de port est sp�cifi�
dans la directive Listen
,
le serveur �coute ce port sur toutes les interfaces r�seau.
Si une adresse IP est sp�cifi�e en plus du port, le serveur va �couter
ce port sur l'interface r�seau correspondante. On peut utiliser
de multiples directives
Listen
pour
sp�cifier plusieurs adresses et ports � �couter. Le serveur r�pondra alors
aux requ�tes sur ces ports et adresses sp�cifi�s.
Par exemple, pour faire en sorte que le serveur accepte des connexions sur les ports 80 et 8000 sur toutes ses interfaces, utilisez :
Listen 80
Listen 8000
Pour faire en sorte que le serveur accepte des connexions sur le port 80 sur une interface, et sur le port 8000 sur une autre interface :
Listen 192.0.2.1:80
Listen 192.0.2.5:8000
Les adresses IPv6 doivent �tre entour�es de crochets, comme dans l'exemple suivant :
Listen [2001:db8::a00:20ff:fea7:ccea]:80
Un nombre croissant de plateformes impl�mentent IPv6, et APR supporte IPv6 sur la plupart d'entre elles, ce qui permet � Apache d'allouer des points de connexion (sockets) IPv6 et de traiter des requ�tes envoy�es sur IPv6.
Les administrateurs d'Apache doivent se pr�occuper de la possibilit�
pour un point de connexion IPv6 de traiter � la fois des connexions IPv4
et des connexions IPv6.
Le traitement de connexions IPv4 avec un point de connexion IPv6 utilise
des adresses IPv6 traduites en IPv4, qui sont autoris�es par d�faut sur la
plupart des plateformes, mais sont interdites par d�faut sous FreeBSD, NetBSD,
et OpenBSD, afin de respecter la politique de s�curit� du syst�me sur ces plateformes.
Mais m�me sur les syst�mes o� ces adresses sont interdites par d�faut, un
param�tre sp�cial du script configure
permet de modifier
ce comportement pour Apache.
En revanche, sur certaines plateformes comme Linux et Tru64, la
seule mani�re de g�rer � la fois IPv6 et IPv4 passe
par l'utilisation d'adresses traduites. Si vous voulez qu'Apache g�re
des connexions IPv4 et IPv6 avec un minimum de points de connexion,
ce qui n�cessite l'utilisation d'adresses IPv6 traduites en IPv4,
utilisez l'option --enable-v4-mapped
du script configure
.
L'option --enable-v4-mapped
est utilis�e par d�faut sur
toutes les plateformes sauf FreeBSD, NetBSD, et OpenBSD;
votre Apache a donc probablement �t� construit avec cette option.
Si vous souhaitez qu'Apache ne g�re que des connexions IPv4, sans se
soucier de ce que vos plateforme et APR supportent, sp�cifiez une adresse
IPv4 dans toutes les directives
Listen
, comme dans l'exemple
suivant :
Listen 0.0.0.0:80
Listen 192.0.2.1:80
Si votre plateforme le supporte et si vous souhaitez qu'Apache g�re
des connexions IPv4 et IPv6 sur des points de connexion s�par�s
(c'est � dire d�sactiver la traduction des adresses IPv6 au format IPv4),
utilisez l'option --disable-v4-mapped
du script
configure
. --disable-v4-mapped
est
utilis� par d�faut sur FreeBSD, NetBSD, et OpenBSD.
La directive Listen
n'impl�mente pas les h�tes virtuels.
Elle indique simplement au serveur principal sur quels adresses et ports
il doit �couter. Si aucune directive
<VirtualHost>
n'est pr�sente, le serveur se comportera de la m�me fa�on pour toutes
les requ�tes accept�es. En revanche, la directive
<VirtualHost>
peut �tre utilis�e pour provoquer une r�action diff�rente du serveur
pour un ou plusieurs adresses/ports. Pour impl�menter un h�te virtuel,
on doit d'abord indiquer au serveur sur quels adresses et ports il doit �couter.
Ensuite, une section
<VirtualHost>
doit �tre cr��e pour chaque couple adresse+port sp�cifi� afin de d�finir le
comportement de cet h�te virtuel. Notez que si la directive
<VirtualHost>
est d�finie pour une adresse et un port sur lesquels le serveur n'est pas cens�
�couter, cet h�te virtuel ne sera pas accessible.