Сборка и подключение динамического модуля nginx-ntlm-module
Модуль nginx-ntlm-module - это дополнительный модуль для сервера web-приложений nginx, позволяющий прозрачно проксировать запросы с использованием механизма аутентификации NTLM. Модуль создан для обеспечения прозрачного проксирования запросов с клиентами, использующими NTLM для аутентификации. Он создает связь с upstream-сервером только после получения запроса с заголовком “Authorization”, начинавшимся с “Negotiate” или “NTLM”. Далее все последующие запросы клиента будут направляться через эту связь, сохраняя контекст аутентификации.
Смотрим версию Nginx, который установлен
1
2
$ nginx -v
nginx version: nginx/1.18.0 (Ubuntu)
Качаем исходники, распаковываем, переходим в каталог
1
2
3
$ wget https://nginx.org/download/nginx-1.18.0.tar.gz
$ tar -zxf nginx-*.tar.gz
$ cd nginx-*/
Клонируем репозиторий nginx-ntlm-module
1
$ git clone https://github.com/gabihodoroaga/nginx-ntlm-module.git
Конфигурируем и собираем модуль
1
2
3
$ ./configure --with-compat --add-dynamic-module=nginx-ntlm-module
$ make
$ make modules
В каталоге objs
появится файл ngx_http_upstream_ntlm_module.so
Копируем его в каталог со всеми модулями
1
$ sudo cp objs/ngx_http_upstream_ntlm_module.so /usr/lib/nginx/modules/
Подключаем модуль, для этого создаем конфигурационный файл
1
2
$ sudo nano /etc/nginx/modules-enabled/nginx-ntlm-module.conf
load_module modules/ngx_http_upstream_ntlm_module.so;
Проверяем, если ошибок нет, перезагружаем Nginx
1
2
$ sudo nginx -t
$ sudo systemctl restart nginx