nginxでベーシック認証
タイトル通りです。
普段Apacheはあまり使わないのですが、BASIC認証(でいいや)をかける必要が出てきたのでついでに書いておきます。
環境
- Ubuntu 14.04
- nginxがインストール済み
手順
1. htpasswdコマンドを使えるようにする
Debian系(Ubuntuとか)
sudo apt-get install apache2-utils
RHEL系(CentOSとか)
sudo yum install htpasswd
2. .htpasswdファイルを作成
.htpasswd
ファイルを作成します。
内容はユーザー名:パスワード
のペアになりますが、パスワードは暗号化できます。(認証が暗号化されるわけではない)
今回はSHA-1で暗号化します。
htpasswd -nbs ユーザー名 パスワード > .htpasswd
3. nginx.confを書き換え
こんな感じ
location / { root /usr/share/nginx/html; index index.html index.htm index.php; auth_basic "basic auth"; # 認証の時に表示されるメッセージ auth_basic_user_file ".htpasswd" # 先ほど作成した.htpasswdファイルのパス }
4. nginxを再起動
sudo service nginx restart