ntlm

Директива 'ntlm' включает аутентификацию NTLM для upstream-соединений в NGINX, позволяя эффективно повторно использовать аутентифицированные соединения.

Синтаксисntlm [connections];
По умолчаниюnone
Контекстupstream
Аргументыnone

Описание

Директива 'ntlm' предназначена для упрощения аутентификации NTLM (NT LAN Manager) в NGINX при проксировании запросов к upstream‑серверам. Когда клиент инициирует запрос с заголовком 'Authorization', содержащим 'Negotiate' или 'NTLM', соединение с upstream‑сервером привязывается к этому клиентскому соединению. Такое поведение гарантирует, что последующие запросы от того же клиента будут использовать то же upstream‑соединение, сохраняя контекст аутентификации и снижая накладные расходы на повторную аутентификацию.

Расширяемость директивы 'ntlm' дополнительно проявляется в возможности указать необязательный параметр, задающий максимальное количество соединений с upstream‑серверами, которые следует кэшировать, что повышает эффективность использования ресурсов и производительность под нагрузкой. Используя постоянство аутентифицированного соединения, NGINX может эффективно управлять ресурсами и поддерживать непрерывность взаимодействия клиент—сервер. Кроме того, директива поддерживает конфигурации тайм-аутов, обеспечивая корректное управление простаивающими соединениями в соответствии с заданными порогами, что помогает оптимизировать использование бэкенд‑ресурсов и поддерживать отзывчивость для пользователей.

Следовательно, внедрение директивы 'ntlm' требует тщательной настройки для определения ожидаемого поведения соединений и показателей производительности. Директива может сочетаться с другими релевантными параметрами — например, 'ntlm_timeout' — чтобы дополнительно настраивать её поведение в соответствии со специфическими требованиями приложения. В целом правильное использование директивы 'ntlm' обеспечивает надёжное решение для обработки аутентифицированных запросов в прокси‑конфигурациях на базе NGINX.

Пример конфига

upstream http_backend {
    server 127.0.0.1:8080;
    ntlm 100;  # Maximum of 100 cached connections
}

server {
    location /http/ {
        proxy_pass http://http_backend;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
    }
}

Убедитесь, что серверы upstream поддерживают NTLM-аутентификацию, поскольку использование этой директивы с неподдерживаемыми серверами может привести к сбоям аутентификации.

Неправильная настройка параметра 'connections' может привести к чрезмерному расходованию ресурсов или отказам при обработке соединений, если значение установлено слишком высоко или слишком низко.

Важно сочетать 'ntlm' с 'proxy_http_version 1.1' и 'proxy_set_header Connection ""' для корректного поддержания постоянных соединений.

← Ко всем директивам