Zum Inhalt

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.