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