HAproxy : Obtenir les vraies IPs depuis CloudFlare
Assez simple, il faut jouer avec les headers. Cette approche fonctionne avec option forwardfor pour passer l'IP réelle au backend.
Concrêtement, ça nous donne ça niveau frontend HAproxy :
frontend https
bind 0.0.0.0:443 ssl crt /etc/haproxy/acme-certs/ alpn h2,http/1.1 allow-0rtt
mode http
acl from_cf src -f /etc/haproxy/acl/cloudflare_ips.lst
http-request set-src req.hdr(CF-Connecting-IP) if from_cf
option forwardfor
Pour le fichier cloudflare_ips.lst, CloudFlare maintient une liste publique de ses IPs :