NGINX 기본 인증 우회 IP 주소 또는 사용자 에이전트

NGINX 기본 인증 우회 IP 주소 또는 사용자 에이전트

NGINX에서 IP 주소 또는 사용자 에이전트를 통한 기본 인증 우회를 설정하는 방법입니다. 다음과 같이 설정하면:

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;
.....
}

그런 다음 사용자 에이전트 컬을 사용하여 화이트리스트가 아닌 다른 주소에서 입력하면 403이 표시됩니다.

답변1

비활성화하면 사실이 아닌 auth_basic에서 제거될 가능성이 높습니다 .satisfy

또 다른 인증 체계를 추가하여 시도한 결과를 얻을 수 있습니다.인증_요청.

예를 들어:

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;
    }

    ...
}

관련 정보