hdfg 发表于 2015-8-12 08:49:57

LNMP—Nginx的用户认证

                      用户认证目的提高系统安全度,那么什么时候我们使用“用户认证”呢?
进入管理中心:www.test.com/admin.php ,假如事前不小心把某个管理员的密码弄的非常简单,很不安全,不得不提高安全度,那么我们就要在这个基础上做一个安全认证,就要先输入用户名和密码,才能进入“管理中心”,这样能增加我们的安全性(回顾一下Apache的用户认证怎么做的)。

我们先进入“虚拟主机配置文件”的目录并列出包含文件:
# cd /usr/local/nginx/conf/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解析”括号内的内容。)
配置好文件后,我们增加用户:

# htpasswd -c /usr/local/nginx/conf/.htpasswd user1
说明一下:
Nginx是没有htpasswd这个工具的,有两种方法,对应两种不同的情况:

[*]我们可以把Apache的这个工具拿过来用,我们从LAMP中手动编译过的Apache中的/usr/local/apache2/bin/htpasswd这个工具来使用;

[*]如果是没有安装Apache的环境,我们可以yum install -y httpd 来使用这个命令。


另:如果需要增加用户认证的用户,我们在增加用户的时候把“-c”去掉就行了;如下:
# htpasswd/usr/local/nginx/conf/.htpasswd user2
                   

页: [1]
查看完整版本: LNMP—Nginx的用户认证