Sto cercando di limitare l'accesso alle risorse dietro Nginx in base all'IP client passato nelle intestazioni X-forwarded-for. Nginx è in esecuzione in un contenitore su un cluster Kubernetes su Google Cloud Platform e i client reali vengono passati in intestazione x-forwarded-for
Finora sono riuscito a farlo per un singolo IP con il seguente codice:
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;
}
Ma come posso farlo per intere gamme di IP? Specificare manualmente centinaia di IP non ha molto senso.
Tutto l'aiuto è apprezzato
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;