Pular para conteúdo

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.1 lançado em 29 de abril 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.

Compilação:

  1. Obtenha o código-fonte do nginx:
$ make getsrc && make src
  1. Compile o código-fonte:
$ make build_all
  1. Execução local:
$ make run
  1. Depuração local:
$ make gdb
  1. Configuração:

Arquivo de configuração de exemplo: conf/nginx.conf:

# Diretiva principal para adicionar um servidor Radius.
# Podem haver várias diretivas "radius_server".
radius_server "radius_server_1" {
    # URL do servidor Radius
    url "127.0.0.1:1812";

    # Segredo compartilhado do servidor Radius
    secret "secret";

    # Identificador NAS, opcional
    nas_identifier "nas-identifier";

    # Tempo limite para solicitações de autenticação Radius, opcional, padrão: 5s
    auth_timeout   5s;

    # Contagem de tentativas para solicitações de autenticação Radius, opcional, padrão: 3
    auth_retries   3;

    # Tempo limite para solicitações de saúde Radius, opcional, padrão: 5s
    health_timeout 5s;

    # Contagem de tentativas para solicitações de saúde Radius, opcional, padrão: 1
    health_retries 1;

    # Tamanho da fila de solicitações de autenticação/saúde Radius, opcional, padrão: 10
    # Eficazmente, o número de solicitações concorrentes que podem ser
    # processadas sem reprogramação.
    queue_size     10;
}

# Diretiva de localização para selecionar o servidor Radius.
# Podem haver várias diretivas "radius_servers" por localização.
radius_servers "radius_server_1";

# Diretiva de localização para habilitar o módulo e fazer a solicitação de autenticação.
auth_radius              "realm" | off;
radius_auth              "realm" | off;

# Diretiva de localização para habilitar o módulo e fazer a solicitação de saúde.
radius_health            ["user"] ["passwd"];
  1. Instalação (opcional):
$ make install

GitHub

Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-auth-radius.