NGINX - 条件付きで IP を許可または拒否する

NGINX - 条件付きで IP を許可または拒否する

NGINX で IP を条件付きで許可または拒否することは可能ですか? これは許可されていません。

if($example){
  deny all;
}

if ($example2){
  allow all;
}

答え1

これは、geo モジュールを使用して実行できます。これにより、エンドポイントへのアクセスを IP 1.1.1.1 と 2.2.2.2 のみに許可します。ロジックを逆にして、すべての IP を許可し、特定の IP のみを拒否することもできます。

geo $trusted_user {
    default 0;
    1.1.1.1 1;
    2.2.2.2 1;
}

server
{
    if ( $trusted_user ~ 0 ) { return 444; }
}

関連情報