radius_servers
`radius_servers` 指令在特定的 location 块上下文中指定用于 HTTP 身份验证的 RADIUS 服务器。
HTTP authentication via RADIUS protocol
·
location
语法radius_servers "server_name";
默认值none
上下文location
参数1
说明
radius_servers 指令用于定义一个或多个 RADIUS 服务器,这些服务器将处理给定 HTTP location 块的认证请求。该指令允许 NGINX 与 RADIUS 服务器通信,通过向指定服务器发送认证请求并相应地处理响应来完成用户认证。通过此指令指定的服务器必须事先使用 radius_server 指令定义,后者包含服务器的 URL 和 shared secret 等其他配置。
radius_servers 的参数只能接受一个服务器名称作为输入。该指令在 http 服务器上下文中使用,具体位于 location 块下。这样的设计使得在 Web 应用的不同路由上灵活配置认证机制成为可能,使不同服务能够根据 location 块的具体上下文使用来自不同 RADIUS 服务器的认证。
需要注意的是,在同一 location 块中允许指定多个 radius_servers 指令,从而支持冗余和故障切换配置。通过将请求分配到多个 RADIUS 服务器,这可以提高认证工作流程的可靠性,即使某个服务器宕机或不可达,也能增加认证成功的几率。
配置示例
location /protected {
radius_servers "radius_server_1";
auth_radius "my_realm";
}⚠
在配置中使用 radius_servers 之前,确保已定义相应的 radius_server 指令。
⚠
每个 radius_servers 指令只能指定一个服务器名称;多个服务器名称需要使用单独的指令。
⚠
确保 RADIUS 服务器可达且配置正确,以避免认证失败。