我正在寻找一个等效的nginx http auth request 模块,但对于 Apache。
对于每个传入的 HTTP 请求,模块都会向身份验证/授权后端发送一个子请求。auth 请求携带原始请求的路径和所有标头。根据身份验证请求的结果,允许原始请求(HTTP 代码 200)、拒绝(HTTP 代码 403)或请求登录(HTTP 代码 401)。这种通用机制允许构建真正灵活的身份验证和授权方案。
在 Apache 中是否有可能发生这样的事情(可能在某些第三方模块的帮助下)?
我正在寻找一个等效的nginx http auth request 模块,但对于 Apache。
对于每个传入的 HTTP 请求,模块都会向身份验证/授权后端发送一个子请求。auth 请求携带原始请求的路径和所有标头。根据身份验证请求的结果,允许原始请求(HTTP 代码 200)、拒绝(HTTP 代码 403)或请求登录(HTTP 代码 401)。这种通用机制允许构建真正灵活的身份验证和授权方案。
在 Apache 中是否有可能发生这样的事情(可能在某些第三方模块的帮助下)?
这个模块就是这样做的...... http://search.cpan.org/~chansen/Authen-Simple-HTTP-0.2/lib/Authen/Simple/HTTP.pm
# 或作为 mod_perl Authen 处理程序
PerlModule Authen::Simple::Apache
PerlModule Authen::Simple::HTTP
PerlSetVar AuthenSimpleHTTP_url "http://www.host.com/protected"
<Location /protected>
PerlAuthenHandler Authen::Simple::HTTP
AuthType Basic
AuthName "Protected Area"
Require valid-user
</Location>
如果您愿意使用 mod_perl,Apache2::AuthCookie会执行类似的操作。
最接近的内置等效项似乎是mod_authnz_fcgi。这允许您使用mod_proxy_fcgi对 FCGI 处理程序执行身份验证子请求。它不允许您直接传递给另一个 URL 处理程序,但可以配置 FCGI 处理程序来执行此操作。