next up previous contents
Next: 9.2.1 satisfy Up: 9. アクセス制御 Previous: 9.1.3 limit_except

9.2 Basic認証

http_auth_basic_module は、"HTTP Basic Authentication" プロトコル を用いて、ユーザ名とパスワードによるアクセス制御を提供しています。

   auth_basic  string $\vert$ off ;

auth_basic ディレクティブは、Basic認証をこのコンテキストで行うことを 示しており、http, server, location, limit_except コンテキストで利用でき、 継承がされます。off は、継承を打ち消す働きがある特別なキーワードです。 パラメータstring には、realm 名を指定しますが、このパラメータ は変数でも構いません。

   auth_basic_user_file  file ;

ユーザ名とパスワードが入ったファイルを指定します。

# 例
    location / {
        auth_basic           "private";
        auth_basic_user_file  htpasswd;
    }

パスワードファイルの形式は以下の通りです。

# コメント
kanayama:password_kana
hara:password_hara:コメント
...

パスワードとしては、以下のものが利用できます。

  1. Apacheの htpasswd コマンドや、OpenSSL の openssl passwd コマンド などで作った crypt() 関数由来のパスワード。
  2. MD5 に基づいたハッシュ化パスワード
  3. PLAIN, SHA, SSHA などのパスワード
    PLAINはテスト用と以外では使ってはいけません。

なお、Nginx自体には、パスワード生成ツールは付属していませんので、通常は htpasswd コマンドなどを利用して、作成します。





Noriyo Kanayama