Nginx配置——用户认证

## 生成密码文件php

[root@localhost ~]# /usr/local/apache2/bin/htpasswd -c /usr/local/nginx/conf/.htpasswd wyyhtml

New password:nginx

Re-type new password:apache

Adding password for user wyyvim

解释说明:curl

借助于apache的工具htpasswd实现生成用户,密码ide

-c 新建一个文件指定目录(...nginx/conf)工具

## 使用验证测试

[root@localhost ~]# vim /usr/local/nginx/conf/vhosts/test.conf字体

 location ~ .*admin\.php$ {   # 所匹配的须要身份认证,这也能够是一个目录(目录就不用加php解析了)

        auth_basic "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;

}

解释说明:

红色字体不加的话,它就会直接下载了.php的那个文件,说明了.php并无真正地解析。

## 检查语法并重启

[root@localhost vhosts]# /usr/local/nginx/sbin/nginx -t

[root@localhost vhosts]# /etc/init.d/nginx reload

 

## 测试

[root@localhost vhosts]# curl -x127.0.0.1:80 www.test.com/admin.php          

<html>

<head><title>401 Authorization Required</title></head>

<body bgcolor="white">

<center><h1>401 Authorization Required</h1></center>

<hr><center>nginx/1.6.2</center>

</body>

</html>

解释说明:

401表示输入用户名密码认证

[root@localhost vhosts]# curl -uwyy:123456 -x127.0.0.1:80 www.test.com/admin.php

解释说明:

显示出来的若是是php代码块,就说明php没有解析出来,显示的若是是html标签就是解析出来了。

相关文章
相关标签/搜索