LNMP下爲Nginx目錄設置訪問驗證的用戶名密碼

有時候需要象Apache那樣爲指定的目錄添加訪問驗證,一般在Apache下使用htpasswd來添加,而htpasswd是包含在apache2-utils裏,一般LNMP一鍵安裝包或自己編譯安裝LNMP都不會安裝apache2-utils。下面VPS偵探說一下如何爲Nginx的網站目錄設置訪問驗證

1、創建類htpasswd文件

執行:wget -c soft.vpser.net/lnmp/ext/htpasswd.sh;bash htpasswd.sh

按提示輸入用戶名、密碼、及認證文件名。腳本會自動生成認證文件。記錄下腳本返回的文件路徑。如:/usr/local/nginx/conf/vpser.net.auth。

2、爲Nginx添加auth認證配置

下面是以某域名下面的soft目錄爲例,在域名的server段里加上如下代碼:
location ^~ /soft/
{
auth_basic "Authorized users only";
auth_basic_user_file 這裏寫前面腳本返回的文件路徑;
}

Authorized users only爲提示信息,可以修改成自己想讓他提示的信息;auth_basic_user_file 後面需要填htpasswd.sh腳本返回的人家文件的路徑。按上面的提示修改好配置後,重啓nginx,訪問http://yourdomainname/soft/ 就會提示輸入用戶名和密碼。

注意,加上認證之後該目錄下的PHP將不會被解析,會出現下載提示,如果想可以解析PHP可以將上面的配置改爲:

location ^~ /soft/ {
location ~ .*\.(php|php5)?$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
auth_basic "Authorized users only";
auth_basic_user_file 這裏寫前面腳本返回的文件路徑;
}

本教程適合LNMP一鍵安裝包或自己安裝的LNMP,只不過目錄和配置文件可能位置不一樣。

>>轉載請註明出處:VPS偵探 本文鏈接地址:http://www.vpser.net/build/nginx-htpasswd.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章