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.