nginx.confの設定
nginx.confに以下を追加
server {
listen 80
server_name www.sample.com
## ここから 追加
auth_basic "please login test"
auth_basic_user_file "/etc/nginx/authfiles/.basicauthpasswd"
## ここまで 追加
・・・・
パスワードファイルの作成
パスワードの作成には、htpasswd コマンドを使用します。
新規に作成する場合
以下を実行して、作成されたファイル(.basicauthpasswd)を
/etc/nginx/authfiles/配下に設置します。
htpasswd -bc .basicauthpasswd testuser testpassword
複数ユーザーを追加する場合
htpasswd -bn testuser2 testpassword2
とすると、下記のような結果が帰ってくるので、
これを、.basicauthpasswdファイル内に追加で記述すればOKです。
testuser2:$apr1$inx7Pllo$fqPEAt0uwgBxwxGe5/35v0
htpasswd
呼び出しは下記の通りです。
htpasswd -b[cmdpsD] passwordfile username password
htpasswdのオプション
| オプション |
説明 |
| -c |
新しいパスワードファイルを作成します。もし、同名のパスワードファイルがすでに存在する場合は、既存の内容が削除されます。 |
| -n |
どのような結果になるかのみを標準出力して終了します。パスワードファイルを変更しません(テスト実行用)。 |
| -m |
パスワードをファイルに書き込む際、MD5 でハッシュします。 |
| -d |
パスワードをファイルに書き込む際、CRYPT でハッシュします(デフォルト)。 |
| -p |
パスワードをファイルに書き込む際、ハッシュしないで、プレーンなテキストのまま書き込みます。 |
| -s |
パスワードをファイルに書き込む際、SHA でハッシュします。 |
| -b |
パスワードを、対話式入力ではなくて、コマンドライン引数として指定できるようにします。 |
Nginxをリロード
/etc/init.d/nginx configtest
を実行して、以下のようにOKであれば
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
下記を実行。
/etc/init.d/nginx reload