ntlm_timeout
Директива `ntlm_timeout` устанавливает продолжительность, в течение которой неактивные NTLM‑соединения к upstream servers поддерживаются до истечения таймаута.
Описание
Директива ntlm_timeout является неотъемлемой частью управления тем, как долго неактивные соединения с использованием NTLM‑аутентификации могут оставаться открытыми до их закрытия. Когда клиент подключается к NGINX и инициирует процесс NTLM‑аутентификации, NGINX может кешировать это аутентифицированное соединение для последующих запросов от того же клиента. Директива ntlm_timeout задаёт максимальную длительность в миллисекундах, в течение которой NGINX будет поддерживать такое неактивное соединение живым, если оно не используется активно. Это помогает оптимизировать использование ресурсов, поскольку длительно неактивные соединения могут привести к чрезмерному расходу ресурсов, если они остаются открытыми слишком долго.
Параметры директивы ntlm_timeout должны указываться в миллисекундах и представляют собой критически важный аспект настройки производительности сервера в средах, где для аутентификации используется NTLM. Когда указанный таймаут наступает, любое неактивное соединение будет корректно закрыто, что позволяет системе перераспределить ресурсы. Это может существенно влиять на приложения с нерегулярными запросами от одних и тех же пользователей, гарантируя, что неактивные соединения не будут без необходимости занимать доступные подключения к upstream servers.
Пример конфига
upstream http_backend {
server 127.0.0.1:8080;
ntlm_timeout 30s;
}
server {
location /http/ {
proxy_pass http://http_backend;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}Будьте осторожны при установке слишком малого timeout, так как это может привести к увеличению накладных расходов из-за частого повторного установления connections.
Убедитесь, что upstream server способен справляться с частотой установки соединений (connection setup); слишком низкий timeout на медленном сервере может ухудшить производительность.