ntlm
Директива 'ntlm' включает аутентификацию NTLM для upstream-соединений в NGINX, позволяя эффективно повторно использовать аутентифицированные соединения.
Описание
Директива '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 ""' для корректного поддержания постоянных соединений.