## 生成密碼文件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標籤就是解析出來了。