我使用nginx和auth_basic
模塊保護我的開發服務器,但我似乎無法找到一種方法來指定「身份驗證」過期的時間間隔。nginx auth_basic時間限制
我希望能夠強制nginx每6小時要求一次密碼。有沒有辦法做到這一點?如果不是,什麼是可接受的解決方法?
我使用nginx和auth_basic
模塊保護我的開發服務器,但我似乎無法找到一種方法來指定「身份驗證」過期的時間間隔。nginx auth_basic時間限制
我希望能夠強制nginx每6小時要求一次密碼。有沒有辦法做到這一點?如果不是,什麼是可接受的解決方法?
這可能是不可能的。似乎沒有關於nginx HttpAuthBasicModule page的任何文檔建議您可以超時基本HTTP身份驗證。
HTTP specification對於Authorization
標頭也沒有指定超時機制。如果您需要超時,我不指望您能夠依賴基本身份驗證,除非您也正在面向Web應用程序。
如果您面向一個Web應用程序,您可以在Cookie中維護一個會話,並在一段時間不活動後超時。會話超時完成後,使用Web應用程序發送以下標題:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic Realm="MyApp"
這將提示瀏覽器再次要求輸入憑據。如果您需要訪問您的Web應用程序中的用戶身份,您應該應在REMOTE_USER
CGI環境變量中找到它。
要使用此技術有效地提供靜態資產,XSendfile
might be useful。
如果你仍然在尋找這個問題的解決方案,我相信HttpAuthDigestModule是你在找什麼。
我今天剛在網上衝浪時發現它。
這裏是鏈接:
http://wiki.nginx.org/HttpAuthDigestModule
https://github.com/samizdatco/nginx-http-auth-digest
希望它可以幫助你。
CGI不自動提供'REMOTE_USER'。你可以通過'fastcgi_param REMOTE_USER $ remote_user;'來設置它。 – bzeaman