radius_auth
Директива radius_auth включает аутентификацию RADIUS для конкретных location-блоков в конфигурациях NGINX.
Описание
Директива radius_auth используется внутри location-блока NGINX для организации аутентификации через сервер RADIUS. Она требует параметр realm, который используется для определения области или контекста аутентификации, что позволяет RADIUS более эффективно управлять пользовательскими сессиями. Эта директива интегрирует NGINX с протоколом RADIUS, позволяя ему эффективно обрабатывать запросы аутентификации. Когда запрос направляется в location, где установлена эта директива, NGINX свяжется с указанным сервером RADIUS, чтобы проверить учетные данные пользователя на основе предоставленного realm.
Эта директива работает совместно с другими настройками, связанными с RADIUS, такими как radius_server и radius_servers, которые определяют используемые сервер(ы) RADIUS. Она может комбинироваться с директивой auth_radius, которая задает realm аутентификации для RADIUS-запроса. Если аутентификация не удастся из‑за недействительного пользователя или других проблем, NGINX вернёт соответствующий ответ об ошибке, предотвращая несанкционированный доступ. При правильной настройке параметров, включая таймауты и лимиты повторных попыток, администраторы могут достичь баланса между безопасностью и удобством.
Директива radius_auth может быть задана как конкретной строкой realm, так и отключена в зависимости от требований к аутентификации для данного location. Таким образом, это гибкий инструмент управления доступом пользователей на основе учетных данных RADIUS в различных контекстах приложения.
Пример конфига
location /protected {
radius_servers "radius_server_1";
radius_auth "my_realm";
}Убедитесь, что сервер RADIUS доступен с вашего хоста NGINX, чтобы предотвратить ошибки аутентификации.
Строка realm должна соответствовать тому, что ожидает сервер RADIUS для корректной аутентификации.
Использование нескольких серверов RADIUS может потребовать тщательной настройки для корректной обработки переключения при отказе.