O nginx suporta autenticação ldap? Acabei de migrar do apache e gostaria de mover todas as minhas autenticações baseadas no openldap e mod_auth_ldap para o nginx. Deixe-me saber se isso é possível.
Nesta página, listando todos os módulos que o nginx possui, não vejo menção sobre o LDAP. Obrigado,
Há um módulo LDAP não oficial para nginx: nginx-auth-ldap .
fonte
Há um módulo de terceiros
nginx-auth-ldap
que você pode usar. Ainda não tentei, mas posso atualizar minha resposta mais tarde.usando nginx X-accel
A documentação
X-accel
apenas explica que uma página pode usar um cabeçalho para que o nginx sirva um arquivo (em vez dePHP
oudjango
ouruby
ou nomeie seu não tão eficiente quanto o nginx-stack-aqui ).por exemplo, fluxo de trabalho:
/download.php?path=/data/file1.txt
,download.php
retornaWWW-Authenticate
+401 Unauthorized
,/download.php?path=/data/file1.txt
mas agoranginx
tem as credenciais,nginx
pode passar$remote_user
e$http_authorization
aofastcgi
roteiro,download.php
faz a autenticação e decide se deve retornar403 Forbidden
ou definir o cabeçalho doX-Accel-Redirect
cabeçalho.definindo a
internal
localização do nginxEmbora você possa usar
X-Accel
para servir ativos estáticos, o caso de uso aqui é que queremos que as solicitações sejam autenticadas, e é por isso que usamosinternal
.configurando o script de download
Aqui vamos nós:
observe : o script PHP usa
PHP_AUTH_USER
ePHP_AUTH_PW
, o qual é capturado pornginx
, portanto, para usá-los no script PHP, precisamos fornecer para fornecê-los explicitamente.preparando uma autenticação LDAP em PHP
Para o meu caso de uso, eu instalei
php-fpm
ephp-ldap
no meu sistema.Aqui está uma função de autenticação decente:
Aqui está um caminho de código decente para acesso proibido:
E para a carne da autenticação LDAP:
Aqui você tem o corpo principal do script que usa a solicitação uri.
navegação de arquivo semi-transparente
Eu também publiquei isso como uma essência :
e praticamente o mesmo script PHP, exceto o corpo:
fonte
Em resumo: Sim, o NGINX suporta LDAP. Existem dois módulos adicionais disponíveis: o NGINX possui um e outro disponível no github. A solução NGINX parecia bastante complexa à primeira vista, então fui com a última opção, chamada nginx-auth-ldap. Anotei algumas notas de instalação relacionadas à minha experiência no seguinte segmento:
Adicionar autenticação ldap ao nginx no RHEL 7
fonte
Parece que alguém recebeu resposta para sua pergunta em http://forum.nginx.org/read.php?2,18552
fonte