ntlm: Модуль NTLM для NGINX
Установка
Вы можете установить этот модуль в любой дистрибутив, основанный на RHEL, включая, но не ограничиваясь:
- RedHat Enterprise Linux 7, 8, 9 и 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 и 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
Включите модуль, добавив следующее в верхней части файла /etc/nginx/nginx.conf:
load_module modules/ngx_http_upstream_ntlm_module.so;
Этот документ описывает nginx-module-ntlm v1.19.4, выпущенный 4 мая 2024 года.
Модуль NTLM позволяет проксировать запросы с использованием NTLM Authentication. Соединение с upstream связывается с клиентским соединением, как только клиент отправляет запрос с заголовком "Authorization", значение которого начинается с "Negotiate" или "NTLM". Последующие запросы клиента будут проксироваться через то же соединение с upstream, сохраняя контекст аутентификации.
Как использовать
Синтаксис: ntlm [connections]; По умолчанию: ntlm 100; Контекст: upstream
upstream http_backend {
server 127.0.0.1:8080;
ntlm;
}
server {
...
location /http/ {
proxy_pass http://http_backend;
# следующие 2 настройки необходимы для правильной работы keepalive
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
Параметр connections устанавливает максимальное количество соединений с upstream-серверами, которые сохраняются в кэше.
Синтаксис: ntlm_timeout timeout; По умолчанию: ntlm_timeout 60s; Контекст: upstream
Устанавливает тайм-аут, в течение которого неактивное соединение с upstream-сервером будет оставаться открытым.
Тесты
Чтобы запустить тесты, вам необходимо установить nodejs и perl на вашу систему.
## установить тестовый фреймворк
cpan Test::Nginx
## установить путь к вашему местоположению nginx
export PATH=/opt/local/nginx/sbin:$PATH
prove -r t
GitHub
Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-ntlm.