shib_request
`shib_request` 指令通过向指定的 FastCGI 授权器 URI 发送子请求,配置 NGINX 以执行 Shibboleth 验证。
Shibboleth Auth Request module for NGINX
·
httpserverlocation
语法shib_request |off;
默认值off
上下文http, server, location
参数1
说明
shib_request 指令在 NGINX 中用于启用 Shibboleth 身份验证,通过将传入请求定向到由指定 URI 定义的授权服务。该指令可以设置为指向 FastCGI 授权器的 NGINX location 块的有效 URI,或设置为 'off' 以禁用身份验证。启用时,NGINX 会处理传入请求并向指定的 URI 发起子请求。如果授权器返回成功的认证响应,NGINX 可以从响应头中提取用户属性并将其附加到原始请求上,使后端应用能够使用这些数据。相反,如果授权失败,错误状态和头信息会返回给客户端,从而适当地管理访问。
需要注意的是,使用 shib_request 时,请求体不会被传送到授权器,并且授权器响应中的任何主体内容都不会返回给客户端。由于 shib_request 指令在访问阶段工作,它可以与 NGINX 中的其他访问控制模块结合使用。需要谨慎配置以确保对头信息的安全处理,防止敏感信息被伪造。模块必须被正确使用以避免不可预测的行为,尤其是在同一 location 块中与不同授权方法一起使用时。
配置示例
location /protected {
shib_request /auth;
}
location /auth {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}⚠
确保指定的 URI 指向一个有效的 location block,用于处理 Shibboleth 授权。
⚠
不要期望 request body 会被转发给 authorizer,这可能会限制某些应用的功能。
⚠
将 Shibboleth 与其他授权模块混合放在同一 location 中可能导致未经测试的行为,因此请谨慎使用。