Aujourd'hui, j'ai appris à propos des IPs proxy Cloudflare
- Publié le : 13/02/2026
- Dernière mise à jour : 13/02/2026
IPs Proxy Cloudflare
Une erreur que j'ai commise cette semaine a été de limiter le débit des utilisateurs en fonction de leur adresse IP. Cela semble correct au début mais je n'avais pas réalisé que l'adresse IP que je limitais n'était pas celle réelle de l'utilisateur, mais celle du proxy Cloudflare.
Comment obtenir la véritable adresse IP de l'utilisateur
En cherchant sur internet, j'ai découvert qu'il fallait d'abord mettre sur liste blanche les IPs Cloudflare au niveau de Traefik, afin que Traefik puisse ensuite transmettre la véritable adresse IP de l'utilisateur au backend.
J'ai ajouté ceci dans mon conteneur Traefik dans le Docker-compose :
# Faire confiance aux IPs Cloudflare pour les en-têtes forwardés
- --entrypoints.websecure.forwardedHeaders.trustedIPs=173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,104.16.0.0/13,104.24.0.0/14,172.64.0.0/13,131.0.72.0/22,2400:cb00::/32,2606:4700::/32,2803:f800::/32,2405:b500::/32,2405:8100::/32,2a06:98c0::/29,2c0f:f248::/32
Pour information, les IPs sont disponibles ici.
Ensuite, dans mon serveur Node, je n'avais plus qu'à utiliser l'en-tête Cf-Connecting-Ip pour obtenir la véritable adresse IP de l'utilisateur.
const realIp = event.req.headers["cf-connecting-ip"];
