auth-radius: autenticación HTTP mediante el protocolo RADIUS
Instalación
Puede instalar este módulo en cualquier distribución basada en RHEL, incluyendo, entre otras:
- RedHat Enterprise Linux 7, 8, 9 y 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 y 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
Habilite el módulo añadiendo lo siguiente al principio de /etc/nginx/nginx.conf:
load_module modules/ngx_http_auth_radius_module.so;
Este documento describe nginx-module-auth-radius v0.1.3 publicado el 14 de septiembre de 2026.
Versión casi totalmente reescrita de https://github.com/lexelby/nginx-radius con
configuración inspirada en https://github.com/timchengx/nginx-http-radius-module.
Consulte el ejemplo de configuración en https://gitflic.ru/project/ten0s/nginx-radius.
Los paquetes Access-Request incluyen el atributo Message-Authenticator de RFC 3579, y Message-Authenticator se verifica en las respuestas cuando está presente. Esto permite configuraciones estrictas de servidores RADIUS posteriores a BlastRADIUS sin deshabilitar la autenticación de mensajes para este cliente.
Pruebas
make test
make test-asan
make lint
Compilación:
- Obtenga el código fuente de nginx:
$ make getsrc && make src
- Compile el código fuente:
$ make build_all
- Ejecución local:
$ make run
- Depuración local:
$ make gdb
- Configuración:
Archivo de configuración de ejemplo: conf/nginx.conf:
# Directiva principal para añadir un servidor Radius.
# Puede haber varias directivas "radius_server".
radius_server "radius_server_1" {
# URL del servidor Radius
url "127.0.0.1:1812";
# Secreto compartido del servidor Radius
secret "secret";
# Identificador NAS, opcional
nas_identifier "nas-identifier";
# Tiempo de espera para las solicitudes de autenticación Radius, opcional, por defecto: 5s
auth_timeout 5s;
# Número de reintentos para las solicitudes de autenticación Radius, opcional, por defecto: 3
auth_retries 3;
# Tiempo de espera para las solicitudes de estado Radius, opcional, por defecto: 5s
health_timeout 5s;
# Número de reintentos para las solicitudes de estado Radius, opcional, por defecto: 1
health_retries 1;
# Tamaño de la cola de solicitudes de autenticación/estado Radius, opcional, por defecto: 10
# Efectivamente, el número de solicitudes concurrentes que se pueden
# procesar sin reprogramación.
queue_size 10;
}
# Directiva de location para seleccionar el servidor Radius.
# Puede haber varias directivas "radius_servers" por location.
radius_servers "radius_server_1";
# Directiva de location para habilitar el módulo y realizar la solicitud de autenticación.
auth_radius "realm" | off;
radius_auth "realm" | off;
# Directiva de location para habilitar el módulo y realizar la solicitud de estado.
radius_health ["user"] ["passwd"];
- Instalación (opcional):
$ make install
GitHub
Puede encontrar consejos de configuración adicionales y documentación para este módulo en el repositorio de GitHub para nginx-module-auth-radius.