我正在使用nginx和auth_basic
模块来保护我的dev服务器,但我似乎无法找到一种方法来指定“身份验证”到期的时间间隔。
我希望能够强制nginx每隔6小时询问一次密码。有没有办法做到这一点?如果没有,什么是可接受的解决方法?
答案 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
希望它可以帮到你。