<-
Apache > Serveur HTTP > Documentation > Version 2.4

Ecoute s�lective

Langues Disponibles:  de  |  en  |  fr  |  ja  |  ko  |  tr 

Configuration du serveur HTTP Apache pour l'�coute sur un port et une adresse IP sp�cifiques.

Voir aussi

top

Vue d'ensemble

Au d�marrage de httpd, 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 et des adresses sp�cifiques � �couter, ou une combinaison des deux. Tout ceci est souvent associ� avec la fonctionnalit� des h�tes virtuels qui d�termine la mani�re dont httpd 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 le(s) port(s) sp�cifi�s ou une combinaison adresse/port. Si seul un num�ro de port est sp�cifi� dans la directive Listen, le serveur se met � l'�coute sur ce port, sur toutes les interfaces r�seau. Si une adresse IP est sp�cifi�e en plus du port, le serveur va �couter sur ce port, uniquement 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 les interfaces, utilisez :

Listen 80
Listen 8000

Pour faire en sorte que le serveur accepte des connexions sur le port 80 pour une interface, et sur le port 8000 pour une autre interface, utilisez :

Listen 192.0.2.1:80
Listen 192.0.2.5:8000

Les adresses IPv6 doivent �tre mises entre crochets, comme dans l'exemple suivant :

Listen [2001:db8::a00:20ff:fea7:ccea]:80

Des directives Listen imbriqu�es provoqueront une erreur fatale qui emp�chera le serveur de d�marrer.

(48)Address already in use: make_sock: could not bind to address [::]:80

Voir cette discussion dans le wiki pour plus de conseils pour r�soudre ce probl�me.

top

Remarques sp�cifiques � IPv6

Un nombre croissant de plateformes impl�mentent IPv6, et APR supporte IPv6 sur la plupart d'entre elles, ce qui permet � httpd d'allouer des points de connexion (sockets) IPv6 et de traiter des requ�tes envoy�es sur IPv6.

Les administrateurs de httpd 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. 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 httpd.

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 que httpd 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 httpd a donc probablement �t� construit avec cette option.

Si vous souhaitez que httpd 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 que httpd 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.

top

Sp�cification du protocole avec Listen

Dans la plupart des configurations, le second param�tre optionnel protocol de la directive Listen n'est pas obligatoire. S'il n'est pas sp�cifi�, les protocoles par d�faut sont https pour le port 443, et http pour tous les autres ports. Le protocole sert � d�terminer quel module doit traiter une requ�te, et � appliquer les optimisations sp�cifiques au protocole via la directive AcceptFilter.

Vous ne devez d�finir le protocole que si vous travaillez avec des ports non standards. Par exemple, pour travailler en https sur le port 8443 :

Listen 192.170.2.1:8443 https
top

Comment tout ceci fonctionne-t-il avec les h�tes virtuels

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 ou 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 le 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.

Langues Disponibles:  de  |  en  |  fr  |  ja  |  ko  |  tr 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.