nginx-auth-ldap을 사용하여 NGINX 1.8.0을 실행하고 있습니다. 인증/권한 부여를 위해 /app
사용 중인 애플리케이션이 있습니다 . auth_ldap
효과가있다.
server {
listen 80;
...
location /app/ {
auth_ldap "Restricted";
auth_ldap_servers test;
...
}
}
bot
자동화된 유지 관리(웹 API)를 수행하기 위해 추가 계정에 대한 액세스 권한을 부여하고 싶습니다 . 보안상의 이유로 LDAP 계정을 만들 수 없습니다 bot
.
auth_ldap
및 auth_basic
(후자의 경우 단일 사용자 사용) 를 동시에 사용하려고 시도했지만 bot
모든 자격 증명에서 401이 발생합니다. 제가 실수를 하였습니까, 아니면 단순히 이 방식으로 작동하도록 하는 것이 불가능합니까?
server {
listen 80;
...
location /app/ {
auth_ldap "Restricted";
auth_ldap_servers test;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htaccess
...
}
}
이것이 작동하지 않으면 진행 방법에 대한 다른 권장 사항이 있습니까?
auth_basic
참고: 다른 위치에서 애플리케이션을 미러링하려고 했습니다 . 액세스 제어는 작동하지만 앱은 해당 URL을 하드코딩 /app-auth-basic
합니다 /app
. 나는 응용 프로그램을 제어할 수 없으므로 이것이 아무데도 연결되지 않는 것 같습니다.
server {
listen 80;
...
location /app/ {
auth_ldap "Restricted";
auth_ldap_servers test;
...
}
location /app-auth-basic/ {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htaccess
...
}
}
답변1
당신은 거의 정확했지만 satisfy
지시문이 누락되었습니다.
server {
listen 80;
...
location /app/ {
satisfy any;
auth_ldap "Restricted LDAP";
auth_ldap_servers test;
auth_basic "Restricted htaccess";
auth_basic_user_file /etc/nginx/.htaccess
...
}
}
이를 사용하면 먼저 "제한된 LDAP"(LDAP 자격 증명만 허용)라는 인증 대화 상자가 표시됩니다. 취소를 클릭하면 "제한된 htaccess"(htaccess 파일에 있는 사용자/비밀번호만 허용)라는 다른 인증 대화 상자가 표시됩니다. 첫 번째 대화 상자에 이미 올바른 자격 증명을 입력한 경우 두 번째 대화 상자는 나타나지 않습니다.
또는 바로 htaccess 자격 증명을 보내 로그인할 수도 있습니다.http://user:[email protected]