Nginx ile Cloudflare'den Gerçek IP Adresini Alma

 Merhabalar, nginx ile uygulama yayınlarken , yayınlama işlemini cloudflare arkasında gerçekleştiriyorsanız nginx loglarında gelen ip adresi LB ip adresleri olacaktır.Bu sorunu aşmak adına örnek nginx.conf dosyası aşağıdadır.



server {

  listen 80;

  server_name   serverName;

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;

set_real_ip_from varsa_kendi_load_balancer_ip_adresiniz;

real_ip_header CF-Connecting-IP;


  location / {

        proxy_pass http://proxy.org;

}

}




Burada önemli olan iki noktayı açıklayacak olursak, real_ip modülü ile  set_real_ip_from kısmında load balancer ip aralıklarını belirttik, real_ip_header kısmındada CF-Connecting-IP(XFF değil :) ) düzenlemesi yaptık.Bu işlemin sonucunda client ip adreslerini elde edeceksiniz.