<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

Module Apache mod_remoteip

Langues Disponibles:  en  |  fr 

Description:Remplace l'adresse IP et le nom d'h�te apparents du client pour la requ�te par l'adresse IP pr�sent�e par un mandataire ou un r�partiteur de charge via les en-t�tes de la requ�te.
Statut:Base
Identificateur�de�Module:remoteip_module
Fichier�Source:mod_remoteip.c

Sommaire

Ce module permet de traiter l'h�te distant qui a initi� la requ�te en tant qu'h�te distant original du point de vue de httpd � des fins d'autorisation et de connexion, m�me si cet h�te distant se trouve derri�re un r�partiteur de charge, un serveur frontal, ou un serveur mandataire.

Le module remplace les adresse IP et nom d'h�te apparents distants (du client) pour la requ�te par l'adresse IP indiqu�e dans l'en-t�te de requ�te configur� via la directive RemoteIPHeader.

Une fois remplac�e comme indiqu�, cette adresse IP apparente est utilis�e pour les fonctionnalit�s <Require host> et <Require ip> de mod_authz_host ; elle est aussi affich�e par mod_status, et enregistr�e via les directives %a et %h du module mod_log_config. Elle permet aussi d'identifier la machine en essayant de lui attribuer une identit� inetd via le module mod_ident et en fonction de la configuration de la directive IdentityCheck.

Il est essentiel de n'activer cette fonctionnalit� que pour les requ�tes en provenance des serveurs interm�diaires (mandataires, etc...) auxquels le serveur peut faire confiance, car il est trivial pour le client distant d'usurper l'identit� d'un autre client.

Directives

Sujets

Voir aussi

top

Traitement des adresses distantes

Apache identifie le client par la valeur remote_ip de la connexion, et de cette valeur d�coulent les valeurs remote_host et remote_logname de la connexion. Ces champs jouent un r�le dans l'authentification, l'autorisation et la connexion, ainsi que dans d'autres traitements effectu�s par d'autres modules chargeables.

mod_remoteip remplace la v�ritable remote_ip par la remote_ip indiqu�e par exemple par un mandataire chaque fois que le serveur effectue une �valuation du client, et r�initialise les valeurs de remote_host et remote_logname afin de d�clencher une nouvelle requ�te dns ou ident sur l'adresse IP distante.

Lorsque la valeur de l'en-t�te comporte plusieurs adresses IP distantes s�par�es par des virgules, celles-ci sont trait�es de la droite vers la gauche. Le traitement s'arr�te lorsque l'adresse IP distante courante n'est pas digne de confiance pour pr�senter l'adresse IP pr�c�dente. Le champ d'en-t�te est alors mis � jour de fa�on � ne contenir que cette liste d'adresses non confirm�es, ou bien, si toutes les adresses IP sont dignes de confiance, cet en-t�te est tout bonnement supprim� de la requ�te.

Lors du remplacement de l'adresse IP distante, le module stocke la liste des h�tes interm�diaires dans un m�mo remoteip-proxy-ip-list, que l'on peut faire enregistrer par mod_log_config en utilisant le symbole de format %{remoteip-proxy-ip-list}n. Si l'administrateur doit stocker ceci dans un en-t�te additionnel, la m�me valeur peut aussi �tre enregistr�e sous la forme d'un en-t�te en utilisant la directive RemoteIPProxiesHeader.

Adresses IPv4 converties au format IPv6

Avec httpd, d'une mani�re g�n�rale, toute adresse IPv4 convertie au format IPv6 est enregistr�e sous sa forme IPv4.

Adresses internes (priv�es)

Tous les blocs d'adresses internes 10/8, 172.16/12, 192.168/16, 169.254/16 and 127/8 (ainsi que les adresses IPv6 en dehors du bloc public 2000::/3 block) ne sont �valu�es par mod_remoteip que lorsque des mandataires internes (intranet) RemoteIPInternalProxy sont enregistr�s.
top

RemoteIPHeader Directive

Description:D�finit le champ d'en-t�te qui contiendra les adresses IP du client
Syntaxe:RemoteIPHeader en-t�te
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_remoteip

La directive RemoteIPHeader indique � mod_remoteip de traiter la valeur de l'en-t�te sp�cifi� comme l'adresse IP du client, ou comme une liste d'adresses IP clients interm�diaires, en fonction de la configuration des directives RemoteIPInternalProxy et RemoteIPTrustedProxy. Si ces deux derni�res directives ne sont pas utilis�es, mod_remoteip traitera tout h�te pr�sentant une valeur d'IP RemoteIPHeader comme h�te de confiance.

Exemple � usage interne (r�partiteur de charge)

        RemoteIPHeader X-Client-IP
	

Exemple dans le cas d'un mandataire

        RemoteIPHeader X-Forwarded-For
	
top

RemoteIPInternalProxy Directive

Description:D�clare les adresses IP intranet clients comme dignes de confiance pour pr�senter la valeur RemoteIPHeader
Syntaxe:RemoteIPInternalProxy ip-mandataire|ip-mandataire/sous-r�seau|nom-h�te ...
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_remoteip

La directive RemoteIPInternalProxy permet d'ajouter une ou plusieurs adresses (ou blocs d'adresses) auxquelles on peut faire confiance pour pr�senter une valeur RemoteIPHeader valide de l'adresse IP du client. A la diff�rence de la directive RemoteIPTrustedProxy, toute adresse IP pr�sent�e dans cet en-t�te, y comprises les adresses intranet priv�es, sont consid�r�es comme dignes de confiance lorsqu'elles sont indiqu�es par ces mandataires.

Exemple � usage interne (r�partiteur de charge)

RemoteIPHeader X-Client-IP
RemoteIPInternalProxy 10.0.2.0/24
RemoteIPInternalProxy gateway.localdomain
        
top

RemoteIPInternalProxyList Directive

Description:D�clare les adresses IP intranet clients comme dignes de confiance pour pr�senter la valeur RemoteIPHeader
Syntaxe:RemoteIPInternalProxyList nom-fichier
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_remoteip

La directive RemoteIPInternalProxyList permet de sp�cifier un fichier parcouru au d�marrage du serveur pour construire une liste d'adresses (ou blocs d'adresses), auxquelles on peut faire confiance pour pr�senter une valeur RemoteIPHeader valide de l'adresse IP du client.

Le caract�re '#' indique une ligne de commentaires, sinon, toutes les lignes s�par�es par un caract�re nouvelle ligne ou tous les �l�ments d'une ligne s�par�s par un espace sont trait�s de la m�me fa�on qu'avec la directive RemoteIPInternalProxy.

Exemple � usage interne (r�partiteur de charge)

RemoteIPHeader X-Client-IP
RemoteIPInternalProxyList conf/trusted-proxies.lst
        

contenu de conf/mandataires-de-confiance.lst

         # Nos mandataires internes de confiance
         10.0.2.0/24         # Tout le monde dans le groupe de test
         passerelle.domaine-local # Le frontal r�partiteur de charge
	 
top

RemoteIPProxiesHeader Directive

Description:D�clare le champ d'en-t�te qui contiendra toutes les adresses IP interm�diaires
Syntaxe:RemoteIPProxiesHeader Nom_en-t�te
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_remoteip

La directive RemoteIPProxiesHeader permet de sp�cifier l'en-t�te dans lequel mod_remoteip va collecter une liste de toutes les adresses IP clients interm�diaires auxquelles on pourra faire confiance pour r�soudre la v�ritable adresse IP distante. Notez que les adresses interm�diaires RemoteIPTrustedProxy sont enregistr�es dans cet en-t�te, alors que toute adresse interm�diaire RemoteIPInternalProxy est omise.

Exemple

RemoteIPHeader X-Forwarded-For
RemoteIPProxiesHeader X-Forwarded-By
    
top

RemoteIPTrustedProxy Directive

Description:D�clare les adresses IP intranet clients comme dignes de confiance pour pr�senter la valeur RemoteIPHeader
Syntaxe:RemoteIPTrustedProxy ip-mandataire|ip-mandataire/sous-r�seau|nom-h�te ...
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_remoteip

La directive RemoteIPTrustedProxy permet d'ajouter une ou plusieurs adresses, ou blocs d'adresses, auxquelles on peut faire confiance pour pr�senter une valeur RemoteIPHeader valide de l'adresse IP du client. A la diff�rence de la directive RemoteIPInternalProxy, toutes les adresses IP intranet ou priv�es indiqu�es par de tels mandataires, y compris les blocs d'adresses 10/8, 172.16/12, 192.168/16, 169.254/16 et 127/8 (ou situ�e en dehors du bloc IPv6 public 2000::/3), ne sont pas dignes de confiance en tant qu'adresses IP distantes, et se situent � gauche dans le contenu de l'en-t�te RemoteIPHeader.

Exemple d'adresse de confiance (r�partiteur de charge

RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 10.0.2.16/28
RemoteIPTrustedProxy proxy.example.com
        
top

RemoteIPTrustedProxyList Directive

Description:D�clare les adresses IP intranet clients comme dignes de confiance pour pr�senter la valeur RemoteIPHeader
Syntaxe:RemoteIPTrustedProxyList nom-fichier
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_remoteip

La directive RemoteIPTrustedProxyList permet de sp�cifier un fichier parcouru au d�marrage du serveur pour construire une liste d'adresses (ou blocs d'adresses), auxquelles on peut faire confiance pour pr�senter une valeur RemoteIPHeader valide de l'adresse IP du client.

Le caract�re '#' indique une ligne de commentaires, sinon, toutes les lignes s�par�es par un caract�re nouvelle ligne ou tous les �l�ments d'une ligne s�par�s par un espace sont trait�s de la m�me fa�on qu'avec la directive RemoteIPTrustedProxy.

Exemple d'adresse de confiance (r�partiteur de charge

RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxyList conf/trusted-proxies.lst
        

conf/mandataires-de-confiance.lst contents

# Mandataires externes identifi�s
192.0.2.16/28 #groupe wap phone de mandataires
proxy.isp.example.com #un FAI bien connu

Langues Disponibles:  en  |  fr 

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.