LNMP—Nginx的用户认证

用户认证目的提高系统安全度,那么什么时候我们使用“用户认证”呢?

进入管理中心: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这个工具的,有两种方法,对应两种不同的情况:

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

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


:如果需要增加用户认证的用户,我们在增加用户的时候把“-c”去掉就行了;如下:

[root@LampLinux vhosts]# htpasswd  /usr/local/nginx/conf/.htpasswd user2



本文转自 听丶飞鸟说 51CTO博客,原文链接:http://blog.51cto.com/286577399/1683784

上一篇:SpringBoot 配置 ELK 环境


下一篇:python脚本编写的人机猜拳小游戏