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
Une fois remplacée comme indiqué, cette adresse IP apparente est
utilisée pour les fonctionnalités %a
et %h
du module
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
%{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
La directive
La directive
La directive
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
La directive
La directive
La directive
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