Nginx prend-il en charge l'authentification LDAP? Je viens de migrer depuis apache et je voudrais déplacer toutes mes authentifications basées sur openldap et mod_auth_ldap vers nginx. Faites-moi savoir si c'est possible.
Sur cette page listant tous les modules de nginx, je ne vois aucune mention sur LDAP. Merci,
Il existe un module LDAP non officiel pour nginx: nginx-auth-ldap .
la source
Il existe un module tiers
nginx-auth-ldap
que vous pouvez utiliser. Je ne l'ai pas encore essayé, mais je pourrai mettre à jour ma réponse plus tard.en utilisant nginx X-accel
La documentation de
X-accel
explique simplement qu'une page peut utiliser un en-tête pour que nginx serve un fichier (plutôt quePHP
oudjango
ouruby
ou nommez-votre-pas-aussi-efficace-que-nginx-stack-ici ).par exemple workflow:
/download.php?path=/data/file1.txt
,download.php
renvoieWWW-Authenticate
+401 Unauthorized
,/download.php?path=/data/file1.txt
maisnginx
dispose désormais des informations d'identification,nginx
peut passer$remote_user
et$http_authorization
aufastcgi
script,download.php
effectue l'authentification et décide de retourner403 Forbidden
ou de définir l'enX-Accel-Redirect
- tête d' en - tête.définition de l'
internal
emplacement nginxBien que vous puissiez utiliser
X-Accel
pour servir des actifs statiques, le cas d'utilisation ici est que nous voulons que les demandes soient authentifiées, c'est pourquoi nous utilisonsinternal
.configuration du script de téléchargement
Et c'est parti:
s'il vous plaît noter : le script PHP utilise
PHP_AUTH_USER
etPHP_AUTH_PW
, qui est capturé parnginx
, donc pour les utiliser dans le script PHP, nous devons donner pour les fournir explicitement.préparer une authentification LDAP en PHP
Pour mon cas d'utilisation, j'ai installé
php-fpm
etphp-ldap
sur mon système.Voici une fonction d'authentification décente:
Voici un chemin de code décent pour un accès interdit:
Et pour la viande de l'authentification LDAP:
Ici, vous avez le corps principal du script qui utilise l'URI de demande.
navigation semi-transparente dans les fichiers
J'ai également publié ceci comme un résumé :
et à peu près le même script PHP sauf le corps:
la source
En bref: Oui, NGINX prend en charge LDAP. Il y a deux modules complémentaires disponibles: NGINX en a un, et il y en a un autre disponible sur github. La solution NGINX semblait plutôt complexe à première vue, j'ai donc opté pour ce dernier choix, qui s'appelle nginx-auth-ldap. J'ai mis quelques notes d'installation concernant mon expérience dans le fil suivant:
Ajouter l'authentification LDAP à Nginx sur RHEL 7
la source
On dirait que quelqu'un a répondu à votre question sur http://forum.nginx.org/read.php?2,18552
la source