auth-radius: Authentification HTTP via le protocole RADIUS
Installation
Vous pouvez installer ce module dans n'importe quelle distribution basée sur RHEL, y compris, mais sans s'y limiter :
- RedHat Enterprise Linux 7, 8, 9 et 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 et 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
Activez le module en ajoutant ce qui suit en haut de /etc/nginx/nginx.conf :
load_module modules/ngx_http_auth_radius_module.so;
Ce document décrit nginx-module-auth-radius v0.1.1 publié le 29 avril 2026.
Version presque totalement réécrite de https://github.com/lexelby/nginx-radius avec
configuration inspirée par https://github.com/timchengx/nginx-http-radius-module.
Voir l'exemple de configuration à https://gitflic.ru/project/ten0s/nginx-radius.
Build :
- Obtenez la source de nginx :
$ make getsrc && make src
- Construisez la source :
$ make build_all
- Exécution locale :
$ make run
- Débogage local :
$ make gdb
- Configuration :
Fichier de configuration d'exemple : conf/nginx.conf :
# Directive principale pour ajouter un serveur Radius.
# Peut y avoir plusieurs directives "radius_server".
radius_server "radius_server_1" {
# URL du serveur Radius
url "127.0.0.1:1812";
# Secret partagé du serveur Radius
secret "secret";
# Identifiant NAS, optionnel
nas_identifier "nas-identifier";
# Délai d'attente pour les requêtes d'authentification Radius, optionnel, par défaut : 5s
auth_timeout 5s;
# Nombre de tentatives pour les requêtes d'authentification Radius, optionnel, par défaut : 3
auth_retries 3;
# Délai d'attente pour les requêtes de santé Radius, optionnel, par défaut : 5s
health_timeout 5s;
# Nombre de tentatives pour les requêtes de santé Radius, optionnel, par défaut : 1
health_retries 1;
# Taille de la file d'attente des requêtes d'authentification/santé Radius, optionnel, par défaut : 10
# Effectivement, le nombre de requêtes concurrentes pouvant être
# traitées sans replanification.
queue_size 10;
}
# Directive de localisation pour sélectionner le serveur Radius.
# Peut y avoir plusieurs directives "radius_servers" par localisation.
radius_servers "radius_server_1";
# Directive de localisation pour activer le module et effectuer une requête d'authentification.
auth_radius "realm" | off;
radius_auth "realm" | off;
# Directive de localisation pour activer le module et effectuer une requête de santé.
radius_health ["user"] ["passwd"];
- Installation (optionnelle) :
$ make install
GitHub
Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-auth-radius.