NGINX - permitir ou negar IP condicionalmente

NGINX - permitir ou negar IP condicionalmente

É possível permitir ou negar IP condicionalmente no NGINX? Isso não é permitido.

if($example){
  deny all;
}

if ($example2){
  allow all;
}

Responder1

Você pode fazer isso usando o módulo geo. Isso permitirá apenas que os ip 1.1.1.1 e 2.2.2.2 acessem o endpoint. Você poderia reverter a lógica para permitir todos os ips e negar apenas alguns específicos.

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

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

informação relacionada