Dirección IP de omisión de autenticación básica de NGINX O agente de usuario

Dirección IP de omisión de autenticación básica de NGINX O agente de usuario

Cómo configurar el bypass en la autenticación básica por dirección IP o agente de usuario en NGINX. Si lo configuro así:

map $http_user_agent $auth {
    default on;
    "~curl" "off";
}

server  {
.......
satisfy any;
allow 1.2.3.4;
allow 5.6.7.8;
deny all;
auth_basic $auth;
auth_basic_user_file /etc/nginx/.htpasswd;
.....
}

Luego, cuando entro desde una dirección que no sea la lista blanca con el agente de usuario curl, obtengo 403.

Respuesta1

Es probable que la desactivación auth_basiclo elimine del archivo satisfyen lugar de convertirlo en verdadero.

Puede lograr lo que está intentando agregando otro esquema de autorización más,solicitud_autenticación.

Por ejemplo:

map $http_user_agent $auth {
    "~curl"  1;
}

server {
    ...

    satisfy any;

    allow 1.2.3.4;
    allow 5.6.7.8;
    deny all;

    auth_basic "Password protected";
    auth_basic_user_file /etc/nginx/.htpasswd;

    auth_request /auth;
    location = /auth {
        internal;
        if ($auth) { return 200; }
        return 401;
    }

    ...
}

información relacionada