Comment restaurer l'adresse IP originale du visiteur avec Nginx ?

Étant donné que Cloudflare agit comme un proxy inverse, lorsqu'il   est configuré comme prévu, toutes les connexions à votre serveur Web d'origine proviennent des adresses IP de Cloudflare, ce   qui pourrait peut-être représenter un problème pour vous :

  • Si votre application Web utilise l'adresse IP d'origine du visiteur dans le cadre de sa logique, elle utilisera désormais une adresse IP Cloudflare
  • Si vous utilisez le contenu de vos journaux d'accès, ils contiennent désormais une adresse IP Cloudflare comme emote_addr   $r

Cependant, Cloudflare est conforme aux normes du secteur et inclut   l'adresse IP du visiteur  dansl'en-tête X-Forwarded-For. Nous ajoutons également un  en-tête CF-Connecting-IP  , qui peut également être utilisé. Ces deux en-têtes peuvent être utilisés pour restaurer l'adresse   IP d'origine de votre visiteur pour votre application Web ou pour être inclus dans vos journaux.

 

Restauration de l'adresse IP du visiteur d'origine pour votre application Web

Veuillez utiliser ce  Module Nginx  et les paramètres de configuration suivants :

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/12;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;

# utilisez l'un des deux en-têtes suivants
real_ip_header CF-Connecting-IP;
#real_ip_header X-Forwarded-For;

Remarque : cette liste de préfixes doit être mise à jour régulièrement et nous publions la liste complète de ceux-ci ici :  Adresses IP de Cloudflare.
 

Afficher les adresses IP des visiteurs d'origine dans vos journaux

Vous pouvez inclure les variables   $http_cf_connecting_ip et   $http_x_forwarded_for dans la directive de log_format.

 

Voir aussi:  Cloudflare et Nginx

Vous n'avez toujours pas trouvé ce que vous cherchez ?

95% des questions peuvent être répondues en utilisant l'outil de recherche. C'est le moyen le plus rapide d'obtenir une réponse.

Réalisé par Zendesk