NGINX Reverse proxy Apache : récupérer l’IP du client
Il y a quelques temps, j’ai rencontré un problème pour récupérer l’IP du client afin de pouvoir utiliser Fail2Ban correctement (bloquer l’IP de mon reverse proxy étant problématique 😉 . Ci-dessous mon architecture :
Configuration Nginx :
Il faut ajouter ces paramètres dans votre bloc server :
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://IP_web_server
}
ensuite on vérifie la conf et on relance Nginx
nginx -t
nginx -s reload
Configuration Apache2
Nous allons devoir utiliser le module apache rpaf
apt-get install libapache2-mod-rpaf
On créé le fichier de conf /etc/apache2/conf-available/rpaf.conf et on insère ces paramètres en modifiant IP_Reverse_Proxy par l’adresse du serveur Nginx :
nano /etc/apache2/conf-available/rpaf.conf
<ifmodule rpaf_module>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips IP_Reverse_Proxy
</ifmodule>
On active le module et la configuration :
a2enmod rpaf
a2enconf rpaf
On redémarre apache pour prendre en compte la nouvelle configuration et le tour est joué.
systemctl restart apache2
Contrairement à moi, certaines personnes rencontrent un problème avec le module rpaf et doivent utiliser remoteip. Vous pouvez suivre ce tuto pour cela
Laisser un commentaire