Varnish et les adresses IP
Hello les geek's,
Etant actuellement en train de faire une bonne optimisation sur la plateforme, je me suis aperçue que les IP ( vue dans le CMS par exemple ) n'était pas réel et provenait directement du DJERFY-RPC. En sommes la vrai IP du visiteur n'était donc pas affichée.
Mais dans les logs tout était correcte. Je me suis alors penché rapidement sur la question !
Installation des packages supplémentaires
Afin de poursuivre, j'ai installé un package supplémentaire afin d'avoir accès au binaire APXS de Httpd ( pas installé par défaut ).
yum install httpd-devel
Une fois que c'est effectué, il faut télécharger le module qui va bien "mod_remoteip.c"
wget https://archive.djerfy.com/docs/mod_remoteip.c -O /tmp/mod_remoteip.c
Compilation du module
Maintenant que nous avons le module, on le compile avec APXS
cd /tmp && apxs -i -a -c mod_remoteip.c
Maintenant le module est compilé et bien installé. Il est possible de le vérifié, le chemin est à modifié selon votre configuration.
ls -lrht /etc/httpd/modules/mod_remoteip.so -rwxr-xr-x 1 root root 37K 23 oct. 12:26 /etc/httpd/modules/mod_remoteip.so
Configuration du Httpd
Notre module étant bien installé, on va à présent le charger dans la configuration. Pour cela chargez le module avec cette ligne ( souvent dans le fichier httpd.conf )
LoadModule remoteip_module modules/mod_remoteip.so
Et rajoutez de même cette ligne à la fin de votre fichier httpd.conf :
RemoteIPHeader X-Forwarded-For
On check la bonne configuration puis on fait un graceful du service Httpd comme ceci :
/etc/init.d/httpd configtest Syntax ok
/etc/init.d/httpd graceful
A partir d'ici, nous aurons à présent la bonne adresse quand on regarde dans notre CMS ( commentaire par exemple )….
Vérification
Bon si vous souhaitez vérifier le bon fonctionnement des IP, créez une page php à la racine de votre site, n'oubliez pas de changer le code le la première balise PHP 🙂
cat check_ip.php >?php $ip = $_SERVER['REMOTE_ADDR']; echo " Mon ip est : $ip "; ?>
Si vous avez des questions, je reste à l'écoute 🙂