nginx-reverse-proxy mit Windows-Authentifizierung mit NTLM
Jemand weiß, wenn möglich reverse-proxy mit Windows-Authentifizierung mit NTLM? Ich kann nicht finden, Beispiel auf dieser. Was sollten die Werte von more_set_headers Feld?
location /{
proxy_http_version 1.1;
proxy_pass_request_headers on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
more_set_input_headers 'Authorization: $http_authorization';
proxy_set_header Accept-Encoding "";
proxy_pass http://host/;
proxy_redirect default;
#This is what worked for me, but you need the headers-more mod
more_set_headers -s 401 'WWW-Authenticate: Basic realm="host.local"';
}
Wenn ich auf den host zugreifen, direkt die Authentifizierung erfolgreich ist, wenn ich den Zugang mit der reverse-proxy die Authentifizierung scheitern jedes mal.
- für diejenigen, die neu in nginx wie mich die more_set_input_headers und more_set_headers config-Zeilen könnte Ihre nginx-Absturz beim ersten (zeigt Aborted in HTTP-Protokolle) denn zu installieren, müssen Sie Kopfzeilen-mehr-nginx-Modul, weitere Infos hier github.com/openresty/headers-more-nginx-module#installation
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aktivieren von NTLM-pass-through-mit Nginx -
-- Ramon
Soweit ich weiß, ist dies derzeit nicht möglich mit nginx. Ich untersuchte diese in der Tiefe mich nur eine kleine Weile her. Das grundlegende problem ist, dass die NTLM-Authentifizierung erfordern die gleiche Buchse verwendet werden, auf die spätere Anfrage, aber der proxy nicht tun. Bis die nginx Entwicklungs-team bietet irgendeine Art von Unterstützung für dieses Verhalten, die Art, wie ich behandelt wurde dies durch den Rückgriff zu authentifizieren, die in der reverse-proxy selbst. Ich bin derzeit dabei, dies mit apache 2.2, mod_proxy, mod_auth_sspi (nicht perfekt, aber funktioniert). Viel Glück! Sorry, nginx, ich Liebe dich, aber wir könnten wirklich etwas Hilfe für diesen gemeinsamen Einsatz.
Ich habe da eine andere Lösung für dieses. Dies ist noch nicht das gleiche wie nginx tun, die NTLM - (das wird gut sein, wenn der nginx-team jemals implementiert). Aber, für jetzt, was ich mache, der für uns arbeitet.
Ich geschrieben habe, einige lua-code, der verwendet ein verschlüsseltes cookie. Das verschlüsselte cookie enthält die Benutzer-id, die Zeit, die er sich authentifiziert und die ip-Adresse, von der er sich authentifiziert. Ich bin durch das anbringen dieses Zeug hier zur Referenz. Es ist nicht Poliert, aber vielleicht können Sie es verwenden, zu entwickeln, Ihre eigenen ähnlichen Schema ab.
Im Grunde, wie es funktioniert, ist:
Zugang.lua:
strings.lua:
enc.lua:
Beispiel nginx conf:
Ok, wir schrieben lua-code für nginx/openresty, das löst die ntlm-reverse-proxy-Problem mit einigen lösbar Einschränkungen und ohne die Notwendigkeit des kommerziellen nginx version