mod_rpaf : le module Apache à utiliser avec des reverse proxy

Schéma de Reverse Proxy simple

Un reverse proxy est un serveur placé « en frontal » d’autres serveurs web et dans la plupart des utilisations il sert à repartir la charge, gérer la compression GZIP et le cache. On utilise généralement des solutions comme Nginx, Lighttpd ou encore Varnish.

C’est Nginx et Varnish qui m’ont fait chercher qu’est-ce qu’il fallait ajouter à mes serveurs Apache pour que dans mes logs et dans mes backend , l’IP de mes clients apparaisse à la place de l’IP des serveurs de mon installation (généralement un beau 127.0.0.1).

La réponse s’appelle mod_rpaf (ou mod_rpaf2). Pour l’installer sous FreeBSD facile :

cd /usr/ports/www/mod_rpaf2 && make install clean

Ensuite direction votre httpd.conf où il vous faudra un truc du genre :

LoadModule rpaf_module        libexec/apache22/mod_rpaf.so

RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 XXX.XXX.AUTRE.IP.DE.PROXY.XXX
RPAFheader X-Forwarded-For

Mettez un coup de apachectl restart pour appliquer vos petits changements et tout le monde est content : vous voyez désormais les IP de vos clients dans vos applications.

Plus d’informations ici.

Tags: , ,