Estou executando o NGINX 1.8.0 com nginx-auth-ldap. Eu tenho um aplicativo em /app
execução auth_ldap
para autenticação/autorização. Funciona.
server {
listen 80;
...
location /app/ {
auth_ldap "Restricted";
auth_ldap_servers test;
...
}
}
Gostaria de dar acesso a uma bot
conta extra para realizar alguma manutenção automatizada (API web). Não consigo criar uma conta LDAP por bot
motivos de segurança.
Tentei usar auth_ldap
e simultaneamente auth_basic
(com um único bot
usuário para o último), mas qualquer credencial resultou em 401. Cometi um erro ou simplesmente não é possível fazer funcionar dessa maneira?
server {
listen 80;
...
location /app/ {
auth_ldap "Restricted";
auth_ldap_servers test;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htaccess
...
}
}
Se isso não funcionar, você teria alguma outra recomendação sobre como proceder?
Nota: tentei espelhar o aplicativo em auth_basic
um local diferente. O controle de acesso funciona, mas o aplicativo codifica seu URL: as respostas de /app-auth-basic
contêm links para /app
. Não tenho controle sobre o aplicativo, então isso não parece levar a lugar nenhum.
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
...
}
}
Responder1
Você estava quase correto, mas perdeu a satisfy
diretiva:
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
...
}
}
Com isso, você primeiro verá uma caixa de diálogo de autenticação que diz "LDAP restrito" (que aceita apenas credenciais LDAP). Se você clicar em cancelar, será exibida outra caixa de diálogo de autenticação que diz "Htaccess restrito" (que aceita apenas usuários/senhas que estão em seu arquivo htaccess). Observe que a segunda caixa de diálogo nunca aparece se você já inseriu as credenciais corretas na primeira.
Alternativamente, você pode enviar credenciais htaccess imediatamente para entrar.http://user:[email protected]