X-forwarded-forヘッダーで渡されたクライアントIPに基づいて、Nginxの背後にあるリソースへのアクセスを制限しようとしています。NginxはGoogle Cloud Platform上のKubernetesクラスター上のコンテナーで実行されており、実際のクライアントIPはx-forwarded-forヘッダーのみで渡されます
これまでのところ、次のコードを使用して1つの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;