auth-radius: autenticação HTTP via protocolo RADIUS
Instalação
Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:
- RedHat Enterprise Linux 7, 8, 9 e 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 e 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
Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:
load_module modules/ngx_http_auth_radius_module.so;
Este documento descreve o nginx-module-auth-radius v0.1.3 lançado em 14 de setembro de 2026.
Versão quase totalmente reescrita de https://github.com/lexelby/nginx-radius com
configuração inspirada em https://github.com/timchengx/nginx-http-radius-module.
Veja um exemplo de configuração em https://gitflic.ru/project/ten0s/nginx-radius.
Os pacotes Access-Request incluem o atributo Message-Authenticator do RFC 3579, e o Message-Authenticator é verificado nas respostas quando presente. Isso oferece suporte a configurações estritas de servidor RADIUS pós-BlastRADIUS sem desabilitar a autenticação de mensagens para este cliente.
Testes
make test
make test-asan
make lint
Compilação:
- Obtenha o código-fonte do nginx:
$ make getsrc && make src
- Compile o código-fonte:
$ make build_all
- Execução local:
$ make run
- Depuração local:
$ make gdb
- Configuração:
Arquivo de configuração de exemplo: conf/nginx.conf:
# Main directive to add a Radius server.
# Can be several "radius_server" directives.
radius_server "radius_server_1" {
# Radius server URL
url "127.0.0.1:1812";
# Radius server shared secret
secret "secret";
# NAS identifier, optional
nas_identifier "nas-identifier";
# Timeout for Radius auth requests, optional, default: 5s
auth_timeout 5s;
# Retries count for Radius auth requests, optional, default: 3
auth_retries 3;
# Timeout for Radius health requests, optional, default: 5s
health_timeout 5s;
# Retries count for Radius health requests, optional, default: 1
health_retries 1;
# Radius auth/health requests queue size, optional, default: 10
# Effectively, the number of concurrent requests that can be
# processed without rescheduling.
queue_size 10;
}
# Location directive to select Radius server.
# Can be several "radius_servers" directives per location.
radius_servers "radius_server_1";
# Location directive to enable module and make auth request.
auth_radius "realm" | off;
radius_auth "realm" | off;
# Location directive to enable module and make health request.
radius_health ["user"] ["passwd"];
- Instalação (opcional):
$ make install
GitHub
Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório GitHub do nginx-module-auth-radius.