Récupérer les IP derière haproxy, le retour

Avec le passage à Stretch des mes serveurs j’ai dû reprendre la configuration de Haproxy et Nginx que j’avais détaillé il y a quelques mois afin de récupérer les IP réelles à la place de celle du reverse-proxy. En effet Haproxy a bénéficié lui aussi d’une mise à jour qui nécissitant quelques changements de syntaxe dans le fichier de configuration.

Nginx

Ajout de l’ip publique comme hôte de confiance.

set_real_ip_from IP LOCALE DE LA MACHINE HAPROXY; set_real_ip_from IP PUBLIQUE; real_ip_header proxy_protocol; real_ip_recursive on;

Ne pas oublier d’ajouter la commande proxy_protocol dans les différents vhost.

listen 443 ssl proxy_protocol;

Haproxy

Du côté de Haproxy j’ai supprimé les directives check-ssl verify none, ce qui donne pour les requêtes http :

server draconis_www 192.168.x.x:80 check send-proxy weight 0

et pour le https :

 server draconis_www 192.168.x.x:443 send-proxy check weight 0

Un redémarrage plus-tard, tout fonctionne à nouveau à merveille.

sudo systemctl restart haproxy sudo systemctl restart nginx