Serveur Apache HTTP Version 2.4

| 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 | 
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 la fonctionnalité 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.
 RemoteIPHeader
 RemoteIPHeader RemoteIPInternalProxy
 RemoteIPInternalProxy RemoteIPInternalProxyList
 RemoteIPInternalProxyList RemoteIPProxiesHeader
 RemoteIPProxiesHeader RemoteIPTrustedProxy
 RemoteIPTrustedProxy RemoteIPTrustedProxyList
 RemoteIPTrustedProxyListApache 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.
RemoteIPInternalProxy sont enregistrés.| 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.
RemoteIPHeader X-Client-IP
RemoteIPHeader X-Forwarded-For
| 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.
RemoteIPHeader X-Client-IP RemoteIPInternalProxy 10.0.2.0/24 RemoteIPInternalProxy gateway.localdomain
| 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.
RemoteIPHeader X-Client-IP RemoteIPInternalProxyList conf/trusted-proxies.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| 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.
RemoteIPHeader X-Forwarded-For RemoteIPProxiesHeader X-Forwarded-By
| 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.
RemoteIPHeader X-Forwarded-For RemoteIPTrustedProxy 10.0.2.16/28 RemoteIPTrustedProxy proxy.example.com
| 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.
RemoteIPHeader X-Forwarded-For RemoteIPTrustedProxyList conf/trusted-proxies.lst
       # Mandataires externes identifiés
       192.0.2.16/28         #groupe wap phone de mandataires
       proxy.isp.example.com #un FAI bien connu