我试图基于在X-forwarded-for标头中传递的客户端IP来限制对Nginx背后资源的访问。Nginx在Google Cloud Platform的Kubernetes集群上的容器中运行,并且实际客户端ip仅在x-forward-for标头中传递
到目前为止,我已经使用以下代码为单个IP做到了这一点:
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;
}
但是我如何才能对整个IP地址范围进行操作呢?手动指定数百个IP并没有多大意义。
感谢所有帮助
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;