2013年6月9日日曜日

apache付属のhtpasswdコマンドがなくてもBasic認証用ファイルを作る

どうも、俺@休みです。

Linuxサーバにnginx入れててBasic認証したいとき。

# vim /path/to/nginx.conf

-----------------------------
 78   location /secret {
 79       alias /home/foouser/secret_directory;
 80       autoindex on;
 81       auth_basic "member only";
 82       auth_basic_user_file /home/foouser/secrect_directory/.htpasswd;
 83   }
とかやると、
http://hoge.jp/secret以下にBasic認証がかかるようになります。
※.htpasswdファイルは外部から見れないようにする必要があります。

で、この.htpasswdファイルですが、apacheがインストールされている環境では
$ htpasswd -c /home/foouser/secret_directory.htpasswd username
で新規作成できますが、 「nginxしか入れてねぇし、apache入れるん面倒やで」という人は以下のコマンドでもOK。
echo "username:$(openssl passwd -crypt your_password)" >> /home/foouser/secret_directory.htpasswd
上記はcrypt暗号化ですが、他にも色々あるみたいです。
ココに答えが!


以上デェぇぇぇす。

0 件のコメント: