ntlm: NTLM NGINX-Modul
Installation
Sie können dieses Modul in jeder RHEL-basierten Distribution installieren, einschließlich, aber nicht beschränkt auf:
- RedHat Enterprise Linux 7, 8, 9 und 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 und Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-ntlm
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-ntlm
Aktivieren Sie das Modul, indem Sie Folgendes an den Anfang von /etc/nginx/nginx.conf hinzufügen:
load_module modules/ngx_http_upstream_ntlm_module.so;
Dieses Dokument beschreibt nginx-module-ntlm v1.19.4, veröffentlicht am 04. Mai 2024.
Das NTLM-Modul ermöglicht das Proxying von Anfragen mit NTLM-Authentifizierung. Die Upstream-Verbindung wird an die Client-Verbindung gebunden, sobald der Client eine Anfrage mit dem Wert des "Authorization"-Headerfelds sendet, der mit "Negotiate" oder "NTLM" beginnt. Weitere Client-Anfragen werden über dieselbe Upstream-Verbindung proxied, wodurch der Authentifizierungskontext erhalten bleibt.
Verwendung
Syntax: ntlm [connections];
Standard: ntlm 100;
Kontext: upstream
upstream http_backend {
server 127.0.0.1:8080;
ntlm;
}
server {
...
location /http/ {
proxy_pass http://http_backend;
# die nächsten 2 Einstellungen sind erforderlich, damit das Keepalive ordnungsgemäß funktioniert
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
Der Parameter connections legt die maximale Anzahl von Verbindungen zu den Upstream-Servern fest, die im Cache erhalten bleiben.
Syntax: ntlm_timeout timeout;
Standard: ntlm_timeout 60s;
Kontext: upstream
Legt das Timeout fest, während dessen eine inaktive Verbindung zu einem Upstream-Server offen bleibt.
Tests
Um die Tests auszuführen, benötigen Sie nodejs und perl, die auf Ihrem System installiert sind.
## installieren Sie das Test-Framework
cpan Test::Nginx
## setzen Sie den Pfad zu Ihrem nginx-Standort
export PATH=/opt/local/nginx/sbin:$PATH
prove -r t
GitHub
Sie finden zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub-Repository für nginx-module-ntlm.