ntlm: Модуль NTLM для NGINX
Установка на Debian/Ubuntu
Эти документы относятся к пакетам APT nginx-module-ntlm, предоставляемым репозиторием GetPageSpeed Extras.
- Настройте APT-репозиторий, как описано в настройке APT-репозитория.
- Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-ntlm
Показать дистрибутивы и архитектуры
| Дистрибутив | Версия | Компонент | Архитектуры |
|-------------|-------------------|-------------|-----------------|
| debian | bookworm | main | amd64, arm64 |
| debian | bookworm-mainline | main | amd64, arm64 |
| debian | trixie | main | amd64, arm64 |
| debian | trixie-mainline | main | amd64, arm64 |
| ubuntu | focal | main | amd64, arm64 |
| ubuntu | focal-mainline | main | amd64, arm64 |
| ubuntu | jammy | main | amd64, arm64 |
| ubuntu | jammy-mainline | main | amd64, arm64 |
| ubuntu | noble | main | amd64, arm64 |
| ubuntu | noble-mainline | main | amd64, arm64 |
Модуль NTLM позволяет проксировать запросы с NTLM-аутентификацией. Входящее соединение связывается с клиентским соединением, как только клиент отправляет запрос с полем заголовка "Authorization", значение которого начинается с "Negotiate" или "NTLM". Последующие запросы клиента будут проксироваться через то же самое входящее соединение, сохраняя контекст аутентификации.
Как использовать
Синтаксис: ntlm [соединения];
Значение по умолчанию: 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 "";
}
}
Параметр соединения устанавливает максимальное количество соединений с серверами 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