2011-11-07 29 views
6

私は、nginxとauth_basicモジュールを使用して自分のdevサーバーを保護していますが、「認証」の有効期限を指定する方法を見つけることができません。nginx auth_basic時間制限

私は6時間ごとにパスワードを尋ねるようにnginxに指示することができます。それを行う方法はありますか?そうでない場合、許容可能な回避策は何ですか?

答えて

5

おそらく不可能です。 nginx HttpAuthBasicModule pageには、基本的なHTTP認証をタイムアウトできることを示すための資料はありません。

HTTP specificationAuthorizationのヘッダーでも、タイムアウトメカニズムが指定されていません。タイムアウトが必要な場合は、基本的な認証に頼ることはできません.Webアプリケーションにも直面している場合を除きます。

ウェブアプリケーションに目を向けると、セッションをクッキーに保存して、一定時間使用しないとセッションがタイムアウトする可能性があります。セッションタイムアウトが終了すると、以下のヘッダを送信するためにWebアプリケーションを使用します。もう一度資格情報を求めるために、ブラウザを促すメッセージが表示されます

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

を。ウェブアプリケーションでユーザの身元にアクセスする必要がある場合は、とすると、REMOTE_USER CGI環境変数にあります。

このテクニックを使用して静的資産を効率的に処理するには、XSendfilemight be useful

+0

CGIは自動的に 'REMOTE_USER'を提供しません。 'fastcgi_param REMOTE_USER $ remote_user;'で設定できます。 – bzeaman

関連する問題