Saya mencoba membatasi akses ke sumber daya di balik Nginx berdasarkan IP klien yang diteruskan dalam header X-forwarded-for. Nginx berjalan dalam wadah pada Kubernetes Cluster di Google Cloud Platform dan ips klien nyata diteruskan dalam header x-diteruskan-hanya untuk header
Sejauh ini saya sudah berhasil melakukannya untuk satu IP dengan kode berikut:
set $allow false;
if ($http_x_forwarded_for ~* 123.233.233.123) {
set $allow true;
}
if ($http_x_forward_for ~* 10.20.30.40) {
set $allow false;
}
if ($allow = false) {
return 403;
}
Tetapi bagaimana saya bisa melakukan itu untuk seluruh rentang IP? Menentukan ratusan IP dengan tangan tidak masuk akal.
Semua bantuan dihargai
location / { real_ip_header X-Forwarded-For; set_real_ip_from 10.0.0.0/8; real_ip_recursive on; allow xxx.xxx.xxx.xxx;