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標籤就是解析出來了。

相關文章
相關標籤/搜索