ntlm: Módulo NTLM de NGINX
Instalación
Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:
- RedHat Enterprise Linux 7, 8, 9 y 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 y 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
Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:
load_module modules/ngx_http_upstream_ntlm_module.so;
Este documento describe nginx-module-ntlm v1.19.4 lanzado el 04 de mayo de 2024.
El módulo NTLM permite la proxy de solicitudes con Autenticación NTLM. La conexión upstream se vincula a la conexión del cliente una vez que el cliente envía una solicitud con el valor del campo de encabezado "Authorization" que comienza con "Negotiate" o "NTLM". Las solicitudes posteriores del cliente se proxearán a través de la misma conexión upstream, manteniendo el contexto de autenticación.
Cómo usar
Sintaxis: ntlm [connections];
Predeterminado: ntlm 100;
Contexto: upstream
upstream http_backend {
server 127.0.0.1:8080;
ntlm;
}
server {
...
location /http/ {
proxy_pass http://http_backend;
# las siguientes 2 configuraciones son necesarias para que el keepalive funcione correctamente
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
El parámetro connections establece el número máximo de conexiones a los servidores upstream que se preservan en la caché.
Sintaxis: ntlm_timeout timeout;
Predeterminado: ntlm_timeout 60s;
Contexto: upstream
Establece el tiempo de espera durante el cual una conexión inactiva a un servidor upstream permanecerá abierta.
Pruebas
Para ejecutar las pruebas necesitas tener nodejs y perl instalados en tu sistema.
## instala el marco de pruebas
cpan Test::Nginx
## establece la ruta a tu ubicación de nginx
export PATH=/opt/local/nginx/sbin:$PATH
prove -r t
GitHub
Puedes encontrar consejos adicionales de configuración y documentación para este módulo en el repositorio de GitHub para nginx-module-ntlm.