Unterstützt Nginx die LDAP-Authentifizierung? Ich bin gerade von Apache migriert und möchte alle meine Authentifizierungen, die auf openldap und mod_auth_ldap basieren, nach nginx verschieben. Lassen Sie mich wissen, ob das möglich ist.
Auf dieser Seite, auf der alle Module aufgelistet sind, die nginx hat, wird LDAP nicht erwähnt. Vielen Dank,
Es gibt ein inoffizielles LDAP-Modul für nginx: nginx-auth-ldap .
quelle
Es gibt ein Modul eines Drittanbieters
nginx-auth-ldap
, das Sie verwenden können. Ich habe es noch nicht ausprobiert, aber ich kann meine Antwort später aktualisieren.mit nginx X-accel
In der Dokumentation für wird
X-accel
nur erläutert, dass eine Seite möglicherweise einen Header verwendet, damit Nginx eine Datei bereitstellt (anstelle vonPHP
oderdjango
oderruby
oder benennen Sie Ihren nicht so effizienten Nginx-Stapel hier ).zB Workflow:
/download.php?path=/data/file1.txt
,download.php
gibtWWW-Authenticate
+ zurück401 Unauthorized
,/download.php?path=/data/file1.txt
,nginx
hat aber jetzt die Anmeldeinformationen,nginx
kann passieren$remote_user
und$http_authorization
zufastcgi
Skript,download.php
führt die Authentifizierung durch und entscheidet, ob403 Forbidden
der Header-X-Accel-Redirect
Header zurückgegeben oder festgelegt wird .Einstellen des Nginx-
internal
SpeicherortsWährend Sie
X-Accel
statische Assets bereitstellen können, möchten wir, dass die Anforderungen authentifiziert werden. Aus diesem Grund verwenden wir sieinternal
.Einrichten des Download-Skripts
Auf geht's:
Bitte beachten Sie : Das PHP-Skript verwendet
PHP_AUTH_USER
undPHP_AUTH_PW
, das von erfasst wirdnginx
. Um sie im PHP-Skript zu verwenden, müssen wir angeben, um sie explizit bereitzustellen.Kochen einer LDAP-Authentifizierung in PHP
Für meinen Anwendungsfall habe ich
php-fpm
undphp-ldap
auf meinem System installiert .Hier ist eine anständige Authentifizierungsfunktion:
Hier ist ein anständiger Codepfad für den verbotenen Zugriff:
Und für das Fleisch der LDAP-Authentifizierung:
Hier haben Sie den Hauptteil des Skripts, das die Anfrage uri verwendet.
halbtransparentes Durchsuchen von Dateien
Ich habe dies auch als Kern veröffentlicht :
und so ziemlich das gleiche PHP-Skript mit Ausnahme des Körpers:
quelle
Kurz gesagt: Ja, NGINX unterstützt LDAP. Es stehen zwei Zusatzmodule zur Verfügung: NGINX verfügt über eines und ein weiteres über Github. Die NGINX-Lösung schien auf den ersten Blick ziemlich komplex zu sein, daher habe ich mich für die letztere Wahl entschieden, die als nginx-auth-ldap bezeichnet wird. Ich habe einige Installationshinweise zu meinen Erfahrungen im folgenden Thread veröffentlicht:
Fügen Sie ldap-Authentifizierung zu nginx unter RHEL 7 hinzu
quelle
Es sieht so aus, als hätte jemand eine Antwort auf Ihre Frage unter http://forum.nginx.org/read.php?2,18552 erhalten
quelle