nginx auth_basic时间限制

时间:2011-11-07 09:50:05

标签: authentication nginx

我正在使用nginx和auth_basic模块来保护我的dev服务器,但我似乎无法找到一种方法来指定“身份验证”到期的时间间隔。

我希望能够强制nginx每隔6小时询问一次密码。有没有办法做到这一点?如果没有,什么是可接受的解决方法?

2 个答案:

答案 0 :(得分:10)

这可能是不可能的。似乎nginx HttpAuthBasicModule page上没有任何文档可以建议你可以超时基本HTTP身份验证。

Authorization标头的HTTP specification也未指定超时机制。如果您需要超时,我不希望您能够依赖基本身份验证,除非您还面向Web应用程序。

如果您正在面向Web应用程序,则可以在cookie中维护会话,并在一段时间不活动后超时。会话超时完成后,使用您的Web应用程序发送以下标题:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic Realm="MyApp"

这将提示浏览器再次请求凭据。如果您需要在Web应用程序中访问用户的身份,REMOTE_USER CGI环境变量中找到它。

使用此技术有效提供静态资源XSendfile might be useful

答案 1 :(得分:7)

如果您仍在寻找此问题的解决方案,我相信您正在寻找HttpAuthDigestModule。

我今天在网上冲浪时发现它。

以下是链接:

http://wiki.nginx.org/HttpAuthDigestModule

https://github.com/samizdatco/nginx-http-auth-digest

希望它可以帮到你。