====== reverse proxy add forward module for Apache (mod_rpaf) ====== {{:feather.gif|http://httpd.apache.org}}{{:nginx-logo.png|http://wiki.nginx.org/Main}} Source : [[http://stderr.net/apache/rpaf/|http://stderr.net/apache/rpaf/]] Ce Document a pour but d'expliquer comment faire remonter dans les logs Apache, les IP Clients lorsque Apache est derrière un Proxy Cache. Notre Proxy Cache est **NGINX** ===== Configuration de NGINX ===== Dans chaque VHost de déclarés, il faut ajouter la ligne suivante : proxy_set_header X-Real-IP $remote_addr; Exemple : location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://192.168.1.42; } Puis il faut que vous redémarriez le proxy cache # /etc/init.d/nginx restart ===== Configuration d'Apache ===== ==== Compilation du module RPAF ==== === Prérequis : === == apache2-prefork-dev == Il faut que vous installiez sur le serveur qui servira à compiler, le package contenant les outils de Dev d'Apache # apt-get install apache2-prefork-dev == rpaf == Téléchargez le dernier module disponible sur l'URL suivante : [[http://stderr.net/apache/rpaf/download/]] === Compilation : === # apxs2 -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c Cela va compiler le module sur votre configuration et va ensuite le copier dans le répertoire contenant tous les modules d'Apache. ==== Installation dans Apache ==== Ajoutez les 2 fichiers suivants dans votre configuration Apache : == rpaf.conf == RPAFenable On # Enable reverse proxy add forward RPAFproxy_ips 127.0.0.1 # which ips are forwarding requests to us RPAFsethostname On # let rpaf update vhost settings # allows to have the same hostnames as in the "real" # configuration for the forwarding Apache RPAFheader X-Forwarded-For # Allows you to change which header mod_rpaf looks # for when trying to find the ip the that is forwarding # our requests == rpaf.load == LoadModule rpaf_module /usr/lib/apache2/modules/mod_rpaf-2.0.so Ensuite, il faut que vous activiez les 2 fichiers afin que Apache les prenne en compte. # cd /etc/apache2/mods-enabled # ln -s ../mods-available/rpaf.load # ln -s ../mods-available/rpaf.conf Puis il faut redémarrer Apache # /etc/init.d/apache2 restart Maintenant, dans vos logs Apache, vous voyez les IP Client en lieu et place de l'IP du Proxy Cache.