Aller au contenu

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 :

Voir aussi