nginx-auth-ldap을 사용하여 NGINX 1.8.0을 실행하고 있습니다. 인증/권한 부여를 /app
위해 실행 중인 애플리케이션이 있습니다 . auth_ldap
효과가있다.
server {
listen 80;
...
location /app/ {
auth_ldap "Restricted";
auth_ldap_servers test;
...
}
}
bot
자동화된 유지 관리(웹 API)를 수행하기 위해 추가 계정에 대한 액세스 권한을 부여하고 싶습니다 . 보안상의 이유로 bot
LDAP 계정을 생성할 수 없습니다.
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]