auth_ldap_cache_expiration_time
Директива `auth_ldap_cache_expiration_time` задаёт продолжительность до истечения срока действия кэшированных результатов аутентификации LDAP.
Описание
Директива auth_ldap_cache_expiration_time управляет тем, как долго результаты аутентификации хранятся в кеше при использовании модуля LDAP-аутентификации для NGINX. Включив кэширование, последующие запросы от того же пользователя в течение указанного периода смогут обойти накладные расходы на опрос сервера LDAP, что приведёт к снижению времени отклика и нагрузки на сервер.
Эта директива принимает один аргумент, который указывает продолжительность в миллисекундах, по истечении которой кэшированные результаты считаются просроченными. Когда кэшированная запись запрашивается после истечения указанного времени, сервер LDAP будет опрошен снова для обновления результата аутентификации. Правильное кэширование может повысить производительность приложения, особенно в условиях высокого трафика, за счёт минимизации числа запросов к серверу LDAP, которые могут выполняться медленнее, чем in-memory lookups.
Чтобы эффективно использовать эту функцию кэширования, важно установить разумное время жизни. Если оно задано слишком большим, пользователи могут столкнуться с устаревшими результатами аутентификации, особенно после смены пароля. Напротив, слишком короткое значение может свести на нет преимущества по производительности из-за частых повторных обращений к серверу LDAP. Поэтому администраторы должны находить баланс между требованиями к производительности и удобством пользователей при настройке этой директивы.
Пример конфига
http {
auth_ldap_cache_expiration_time 60000; # Cache entries expire after 60 seconds
ldap_server test {
url ldap://ldap.example.com:389/DC=example,DC=com?sAMAccountName?sub?(objectClass=user);
binddn "[email protected]";
binddn_passwd "password";
require valid_user;
}
}Убедитесь, что время жизни кэша не установлено слишком большим, чтобы избежать устаревших результатов аутентификации.
Не забудьте включить кэширование, задав соответствующую директиву, поскольку эта директива не будет работать самостоятельно.
Настройте время жизни кэша в соответствии с моделями активности пользователей для оптимальной производительности.