NGINX — условное разрешение или запрет IP

NGINX — условное разрешение или запрет IP

Можно ли условно разрешить или запретить IP в NGINX? Это не разрешено.

if($example){
  deny all;
}

if ($example2){
  allow all;
}

решение1

Вы можете сделать это с помощью модуля geo. Это позволит только ip 1.1.1.1 и 2.2.2.2 получить доступ к конечной точке. Вы можете изменить логику, чтобы разрешить все ip и запретить только несколько определенных.

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

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

Связанный контент