今回も、Nginxの話をしたいと思います。

例えば、管理用のディレクトリなどに、Basic認証をかけたい場合などがあります。
apacheでは、”AuthType Basic”などの設定を加える事によって実現されます。
もちろんNginxでも簡単に行えるので、是非、入れてみましょう

server {  
        listen sample.com:80;
        root /var/www/html;
        # ~略~
        location /admin {
                auth_basic "Are you administrator?";
                auth_basic_user_file /etc/nginx/.htpasswd;
        }
        # ~略~
}

apacheが入っている場合は、htpasswdコマンドを利用しよう。

# htpasswd -c /etc/nginx/.htpasswd testuser

New password: パスワードの入力(不可視)  
Re-type new password: パスワードの入力(不可視)  
Adding password for user testuser  

内容を確認してみよう

# cat /etc/nginx/.htpasswd

testuser:$apr1$4zURgWxS$Orj3Pj3x0h10a7Jwly/ap0  

apacheが入っていない場合は、opensslコマンドを利用しよう。
※historyに残るので、”history -c”でクリアを忘れずに

# echo "sampleuser:`openssl passwd -apr1 YourPassword`" > /etc/nginx/.htpasswd
# cat /etc/nginx/.htpasswd
sampleuser:$apr1$3VDlFRg.$AVRQC6OYMQbI08kiopXGX0

# history -c

nginxの再起動

# service nginx restart