Extraire l'adresse IP réelle derrière le proxy inverse/l'équilibreur de charge
Chaque fois que nous utilisons un site basé sur Apache derrière un proxy inverse, nous perdons par défaut un moyen sensé d'extraire la véritable adresse IP (ou du moins avons de très bonnes chances de le faire) du client qui fait la demande. En effet, notre proxy inverse ou équilibreur de charge devient dans de nombreuses situations le client et pour Apache, cela signifie que nous ne verrons jamais que l'adresse IP (l'adresse IP interne si elle est locale à notre batterie de serveurs Apache) qui devient inutile si nous effectuons des analyses sur le Apache se connecte ou prend des décisions pour la demande en fonction de l'IP .
Pour permettre à apache de connaître l'adresse IP du client réel, nous pouvons utiliser le module mod_rpaf qui doit être chargé. Sur les machines basées sur Debian, il suffit de lancer la commande suivante et de redémarrer Apache :
sudo apt-get install libapache2-mod-rpaf
Cependant, ce n'est pas le cas avec les machines RHE/RHL. Utilisez les étapes suivantes pour installer le module mod_rpaf sur votre machine basée sur RHE/RHL, telle que le serveur apache CentOS.
wget http://drupion.com/sites/default/files/mod_rpaf-0.6.tar_.gz
Notez que http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz où le fichier se trouvait à l'origine pour une raison quelconque est actuellement désactivé.
yum install httpd-develtar zxvf mod_rpaf-0.6.tar_.gz
cd mod_rpaf-0.6
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
Créez maintenant le fichier /etc/httpd/conf.d/mod_rpaf.conf avec le contenu suivant :
LoadModule rpaf_module modules/mod_rpaf-2.0.so# configuration mod_rpaf
RPAFenable On
RPAFsethostname On
RPAFproxy_ips xxx.xxx.xxx.xxx
RPAFheader X-Forwarded-For
Assurez-vous de remplacer xxx.xxx.xxx.xxx par l'adresse IP de votre serveur, redémarrez Apache, puis vérifiez vos journaux pour voir que vous voyez maintenant les adresses IP de vos visiteurs plutôt que l'adresse IP de votre serveur.