IP asli pengunjung di belakang Cloudflare atau load balancer
Cara server di belakang proxy mendapatkan IP asli pengunjung dengan aman, menggunakan Nginx, Node.js, dan PHP.
Mengapa IP terlihat berbeda
Jika Cloudflare, load balancer, atau Nginx berada di depan situs Anda, koneksi yang diterima server Anda berasal dari proxy tersebut, sehingga Anda melihat IP proxy, bukan IP pengunjung. IP pengunjung ada di header yang ditambahkan proxy.
Cloudflare
Cloudflare menaruh satu IP pengunjung di header CF-Connecting-IP. Untuk memastikan permintaan benar-benar berasal dari Cloudflare, percayai header ini hanya jika IP koneksi berada dalam rentang IP yang diterbitkan Cloudflare (cloudflare.com/ips).
X-Forwarded-For
Jika permintaan melewati beberapa proxy, X-Forwarded-For mengumpulkan IP-nya dipisahkan koma. Nilai pertama dianggap sebagai IP pengunjung, tetapi pengunjung bisa menuliskannya sendiri, jadi hitung mundur dari nilai yang terakhir ditambahkan proxy Anda sendiri dan gunakan nilai pada posisi yang bisa Anda percayai.
Nginx
Dengan modul real_ip, cantumkan rentang proxy Anda di set_real_ip_from dan atur real_ip_header ke CF-Connecting-IP atau X-Forwarded-For. Setelah itu, log dan aplikasi Anda menerima IP pengunjung.
Node.js dan PHP
Di Express, atur app.set("trust proxy", jumlah proxy) dan req.ip menjadi IP pengunjung. Di PHP, gunakan $_SERVER["HTTP_CF_CONNECTING_IP"] hanya jika $_SERVER["REMOTE_ADDR"] adalah proxy Anda sendiri.
Periksa hasilnya
Setelah diatur, jika IP yang dicatat situs Anda sama dengan IP yang ditampilkan di beranda IPinfoBox, pengaturannya berhasil.
Periksa IP dan lokasi Anda sekarang.
Periksa IP saya