Пост

Сборка и подключение динамического модуля 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
Авторский пост защищен лицензией CC BY 4.0 .