Difficulté
Moyen
Obtenir les IPs de connexion derrière HAProxy
HAProxy redirigeant les requêtes vers le serveur web, ce dernier les voit toujours provenir de HAProxy. Cela nuit à l'utilisation de fail2ban ou d'AWStats qui nécessitent de connaître l'IP externe de provenance de la requête.
Pour ce faire, il y a 2 réglages à effectuer:

HAProxy

tout est indiqué sur ce lien https://www.triumvirat.org/posts/opnsense/opnsense_x-forward/

ServicesHAProxySettingsVirtual ServicesBackend Pools ⇒ la-bonne_pool ⇒ advanced mode
Dans Option pass-through entrer “option forwardfor” (sans les “”).

Ne plus utiliser “%{X-Forwarded-For}i” dans le config du serveur web
Utiliser plutôt le module remoteip comme indiqué ci-ddessous

Apache

https://www.yakati.com/art/afficher-les-ip-de-connexion-dans-les-logs-apache-derrriere-haproxy.html

# a2enmod remoteip
# echo "RemoteIPHeader X-Forwarded-For" > /etc/apache2/conf-available/haproxyIP.conf
# a2enconf haproxyIP
# nano /etc/apache2/apache2.conf<       ### et remplacer les "%h" par "%a" 
#LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%v:%p %a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
#LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
#LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%a %l %u %t \"%r\" %>s %O" common 
# systemctl restart apache2 

Installé sur un CT turnkey, les logs de Apache devraient alors indiquer les IPs de connexion externes

# nano /var/log/apache2/other_vhosts_access.log 
Les logs des connexions depuis le LAN ou la DMZ undiquent toujours l'IP du HAProxy
DokuWiki Appliance - Powered by TurnKey Linux