用户认证目的提高系统安全度,那么什么时候我们使用“用户认证”呢?
进入管理中心:www.test.com/admin.php ,假如事前不小心把某个管理员的密码弄的非常简单,很不安全,不得不提高安全度,那么我们就要在这个基础上做一个安全认证,就要先输入用户名和密码,才能进入“管理中心”,这样能增加我们的安全性(回顾一下Apache的用户认证怎么做的)。
我们先进入“虚拟主机配置文件”的目录并列出包含文件:
[root@LampLinux vhosts]# cd /usr/local/nginx/conf/vhosts/
[root@LampLinux vhosts]# ls
default.conf (默认虚拟主机)
test.conf (虚拟主机配置文件)
打开“虚拟主机配置文件”:
在 root /data/www;下方写入
location ~ .*admin\.php$ {
auth_basic "LampLinux auth";
auth_basic_user_file /usr/local/nginx/conf/.htpasswd;
include fastcgi_params;
fastcgi_pass unix:/tmp/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
}
(PS:红字|为新加入信息,绿字|为复制原有配置文件内下面“PHP解析”括号内的内容。)
配置好文件后,我们增加用户:
[root@LampLinux vhosts]# htpasswd -c /usr/local/nginx/conf/.htpasswd user1
说明一下:
Nginx是没有htpasswd这个工具的,有两种方法,对应两种不同的情况:
-
我们可以把Apache的这个工具拿过来用,我们从LAMP中手动编译过的Apache中的/usr/local/apache2/bin/htpasswd这个工具来使用;
-
如果是没有安装Apache的环境,我们可以yum install -y httpd 来使用这个命令。
另:如果需要增加用户认证的用户,我们在增加用户的时候把“-c”去掉就行了;如下:
[root@LampLinux vhosts]# htpasswd /usr/local/nginx/conf/.htpasswd user2
本文转自 听丶飞鸟说 51CTO博客,原文链接:http://blog.51cto.com/286577399/1683784