Nginx でBasic 認証の設定
Basic 認証の設定方法
Basic 認証で利用するユーザ名とパスワードの設定ファイルを auth_basic_user_file
で指定する
server {
listen 80;
server_name yulii.net;
access_log logs/net.yulii.access.log main;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/conf/auth_basic/.htpasswd;
location / {
root html;
index index.html index.htm;
}
}
Basic 認証のアカウント発行は htpasswd
コマンドが便利。
htpasswd
コマンドは Apache のパッケージ apache2-utils
に含まれている。
$ htpasswd -n yulii
New password:
Re-type new password:
yulii:pxX7w0IvuRflQ
htpasswd コマンドの注意点
運用上注意しないと設定ファイルを削除してしまうので注意!!
htpasswd コマンドのオプション
- b : パスワードをコマンドライン引数として指定 (コマンド履歴、ショルダーハッキングに注意)
- c : 設定ファイルの新規作成 (既にファイルがある場合は警告なしに強制上書き)
- n : 実行結果を標準出力する
- s : パスワードを SHA でハッシュ化
基本は n オプションで標準出力させた方が無難。面倒だけど手動でファイルに追加する。