auth-radius: HTTP аутентификация через протокол RADIUS
Установка
Вы можете установить этот модуль в любой дистрибутив на базе RHEL, включая, но не ограничиваясь:
- RedHat Enterprise Linux 7, 8, 9 и 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 и Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-auth-radius
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-auth-radius
Включите модуль, добавив следующее в верхнюю часть файла /etc/nginx/nginx.conf:
load_module modules/ngx_http_auth_radius_module.so;
Этот документ описывает nginx-module-auth-radius v0.1.1, выпущенный 29 апреля 2026 года.
Практически полностью переписанная версия https://github.com/lexelby/nginx-radius с
конфигурацией, вдохновленной https://github.com/timchengx/nginx-http-radius-module.
Смотрите пример конфигурации на https://gitflic.ru/project/ten0s/nginx-radius.
Сборка:
- Получите исходный код nginx:
$ make getsrc && make src
- Соберите исходный код:
$ make build_all
- Локальный запуск:
$ make run
- Локальная отладка:
$ make gdb
- Конфигурация:
Пример файла конфигурации: conf/nginx.conf:
# Основная директива для добавления сервера Radius.
# Может быть несколько директив "radius_server".
radius_server "radius_server_1" {
# URL сервера Radius
url "127.0.0.1:1812";
# Секретный ключ сервера Radius
secret "secret";
# Идентификатор NAS, необязательно
nas_identifier "nas-identifier";
# Таймаут для запросов аутентификации Radius, необязательно, по умолчанию: 5s
auth_timeout 5s;
# Количество повторных попыток для запросов аутентификации Radius, необязательно, по умолчанию: 3
auth_retries 3;
# Таймаут для запросов состояния Radius, необязательно, по умолчанию: 5s
health_timeout 5s;
# Количество повторных попыток для запросов состояния Radius, необязательно, по умолчанию: 1
health_retries 1;
# Размер очереди запросов аутентификации/состояния Radius, необязательно, по умолчанию: 10
# Эффективно, количество параллельных запросов, которые могут быть
# обработаны без повторного планирования.
queue_size 10;
}
# Директива location для выбора сервера Radius.
# Может быть несколько директив "radius_servers" на каждую локацию.
radius_servers "radius_server_1";
# Директива location для включения модуля и выполнения запроса аутентификации.
auth_radius "realm" | off;
radius_auth "realm" | off;
# Директива location для включения модуля и выполнения запроса состояния.
radius_health ["user"] ["passwd"];
- Установка (необязательно):
$ make install
GitHub
Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-auth-radius.