X-forwarded-for 헤더에 전달 된 클라이언트 IP를 기반으로 Nginx 뒤의 리소스에 대한 액세스를 제한하려고합니다. Nginx가 Google Cloud Platform의 Kubernetes Cluster에있는 컨테이너에서 실행되고 실제 클라이언트 IP는 x-forwarded-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;