Apache是​​否允许基于子请求的结果授权HTTP请求?

问题描述:

我正在寻找相当于nginx http auth request module,但对于Apache。Apache是​​否允许基于子请求的结果授权HTTP请求?

对于每个传入的HTTP请求,模块都向认证/授权后端发送子请求。身份验证请求携带原始请求的路径和所有标题。根据auth请求的结果,允许原始请求(HTTP代码200),拒绝(HTTP代码403)或请求登录(HTTP代码401)。这样的通用机制允许构建真正灵活的认证和授权方案。

是这样的可能在Apache中(可能在一些第三方模块的帮助下)?

Apache2::AuthCookie做这样的事情,如果你愿意使用mod_perl。

+0

为每个请求ngnix使得一个子HTTP请求的URL,并寻找200或非200响应。如果它的原始请求经过200次,否则errordocument会触发。 authcookie向最终用户呈现实际内容。 有许多mod_auth机制可以执行类似的子请求,比如dacs等等。 – hpavc 2016-06-20 03:26:05

该模块做到了这一点...... http://search.cpan.org/~chansen/Authen-Simple-HTTP-0.2/lib/Authen/Simple/HTTP.pm

#或作为mod_perl的认证介绍处理

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>