{{howhard>3}}
**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:
* un sur HAProxy
* l'autre sur le serveur web apache
====== HAProxy ======
tout est indiqué sur ce lien https://www.triumvirat.org/posts/opnsense/opnsense_x-forward/
''Services'' => ''HAProxy'' => ''Settings'' => ''Virtual Services'' => ''Backend 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