Menyiapkan aplikasi web di cloud selalu menyenangkan dan mengasyikkan.
Baru-baru ini, saya meluncurkan alat Alat techking.id, yang dihosting di AWS di belakang Cloudflare.
Saya menggunakan penyeimbang beban aplikasi AWS dan Nginx sebagai server web. Setelah membuat kehidupan, saya pergi untuk melihat access.log dan melihat semua permintaan ditandai berasal dari IP internal (load balancer).
Ini tidak baik jika Anda ingin menganalisis log server web Anda untuk mengetahui lokasi pengunjung. Saya menyadari bahwa saya hilang atau perlu melakukan beberapa perubahan konfigurasi untuk memulihkan IP klien.
Apakah Anda dalam situasi yang sama seperti saya?
Nah, berikut adalah cara mendapatkan IP klien di log akses Nginx Anda.
Mendapatkan IP Pengunjung dari AWS atau Google Cloud LB
- Masuk ke server web Nginx Anda
- Pergi ke jalur tempat diinstal (lokasi default /etc/nginx)
- Ambil cadangan file nginx.conf
- Tambahkan yang berikut di bawah blok HTTP
real_ip_header X-Forwarded-For; set_real_ip_from 0.0.0.0/0;
- Mulai ulang Nginx, dan Anda akan melihat IP pengunjung di file access.log Anda
Jika Anda berada di belakang Cloudflare, maka Anda akan melihat IP mereka, bukan IP klien, jadi Anda juga harus melakukan hal di bawah ini.
Mendapatkan IP Klien dari Cloudflare
Cloudflare adalah penyedia CDN dan Keamanan yang hebat, dan saya sangat menyukainya. Jika Anda menggunakan Cloudflare seperti saya dan ingin memulihkan IP pengunjung di log server web, berikut adalah cara melakukannya.
Dengan asumsi Anda masuk ke server Nginx
Ambil cadangan file konfigurasi situs Anda (biasanya di sini – /etc/nginx/sites-available/yourdomain)
Tambahkan berikut ini di awal file
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/13; set_real_ip_from 104.24.0.0/14; 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 199.27.128.0/21; 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; real_ip_header CF-Connecting-IP;
Catatan: Anda mungkin ingin memvalidasi daftar IP dari mereka Halaman resmi.
Mulai ulang Nginx, dan Anda akan melihat IP klien sekarang. Ini telah membantu saya, dan saya harap Anda juga.
Selanjutnya, cari tahu bagaimana Anda dapat mengimplementasikan header aman menggunakan Cloudflare Worker.
Senang membaca artikelnya? Bagaimana kalau berbagi dengan dunia?