Nginx對(duì)某個(gè)目錄設(shè)置密碼保護(hù)例子
有時(shí)不想某個(gè)目錄被訪問(wèn),所以要加密碼之類來(lái)保護(hù),以前用過(guò)的 Apache 好像很簡(jiǎn)單就實(shí)現(xiàn)目錄加密。我用的是 Nginx,用了那么久 Nginx 還真沒(méi)試過(guò)加密……
參考了一些資料,然后發(fā)現(xiàn)這樣就可以:(Debian系統(tǒng),配置中“#.......”表示后續(xù)還有其他配置)
1. 配置網(wǎng)站(假如 yousite.com 放在 /home/www,然后要對(duì) ooxx 目錄加密)
server {
listen 80;
server_name yousite.com;
root /home/www;
index index.php index.html;
location ^~ /ooxx/{
auth_basic "Authorized users only";
auth_basic_user_file /home/.htpasswd;
}
#......
}
2. 安裝 Apache 2 工具(需要 htpasswd 命令)
apt-get install apache2-utils
3. cd 到 /home 目錄下(其他目錄也行,但要注意跟上面 auth_basic_user_file 一致),用 htpasswd 生成用戶名和密碼
htpasswd -bdc .htpasswd username password
(注:生成的 .htpasswd 文件可能需要設(shè)為 nginx 的運(yùn)行用戶所有)
這樣,你直接訪問(wèn) http://yousite.com/ooxx 就會(huì)提示你輸入用戶和密碼了,輸入剛才用 htpasswd 設(shè)置的用戶和密碼就可以進(jìn)去了!
但是,然后你會(huì)發(fā)現(xiàn),直接訪問(wèn)里面的 php 文件會(huì)變成下載而不是運(yùn)行——超囧~
檢查了 nginx 對(duì) php 配置:
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
沒(méi)錯(cuò)啊
我是這樣解決的:在剛才的 location ^~ /ooxx/{ ... } 里面加多一段對(duì) php 的配置,變成
server {
listen 80;
server_name yousite.com;
root /home/www;
index index.php index.html;
location ^~ /ooxx/{
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
auth_basic "Authorized users only";
auth_basic_user_file /home/.htpasswd;
}
#......
}
搞定收工,具體請(qǐng)參考 Nginx 官方文檔,我隨便玩的(反正是成功了)。
附帶說(shuō)明:如果把 location ^~ /ooxx/ 的 ^~ 去掉的話,會(huì)變成訪問(wèn)目錄需要輸入密碼,但是卻可以直接訪問(wèn)文件,注意。
- Nginx中的root&alias文件路徑及索引目錄配置詳解
- Nginx服務(wù)器中為網(wǎng)站或目錄添加認(rèn)證密碼的配置詳解
- Nginx服務(wù)器中設(shè)置禁止訪問(wèn)文件或目錄的方法
- 在Nginx瀏覽器中打開目錄瀏覽功能
- Nginx列出目錄和文件并用密碼控制訪問(wèn)權(quán)限配置方法
- Nginx、Apache、Lighttpd禁止目錄執(zhí)行php配置示例
- nginx將泛解析的匹配域名綁定到子目錄配置方法
- nginx禁止dedecms目錄php執(zhí)行權(quán)限
- Nginx 禁止訪問(wèn)某個(gè)目錄或文件的設(shè)置方法
- Nginx服務(wù)器下配置使用索引目錄的教程
相關(guān)文章
Nginx靜態(tài)文件響應(yīng)POST請(qǐng)求 提示405錯(cuò)誤的解決方法
Apache、IIS、nginx等絕大多數(shù)web服務(wù)器,都不允許靜態(tài)文件響應(yīng)POST請(qǐng)求,否則會(huì)返回“HTTP/1.1 405 Method not allowed”錯(cuò)誤2013-04-04
Centos系統(tǒng)中如何在指定位置下安裝Nginx
這篇文章主要介紹了Centos系統(tǒng)中如何在指定位置下安裝Nginx,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
Nginx配置動(dòng)態(tài)代理后通過(guò)curl訪問(wèn)報(bào)403問(wèn)題
本文主要介紹了Nginx配置動(dòng)態(tài)代理后通過(guò)curl訪問(wèn)報(bào)403問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
Nginx轉(zhuǎn)發(fā)丟失cookie表現(xiàn)形式及解決方案
本文主要介紹了Nginx轉(zhuǎn)發(fā)丟失cookie表現(xiàn)形式及解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
國(guó)外著名論壇程序IPB(Invision Power Board)在nginx下的配置示例
這篇文章主要介紹了國(guó)外著名論壇程序IPB(Invision Power Board)在nginx下的配置示例,使用fastcgi配置模式,需要的朋友可以參考下2014-07-07
一文詳解Nginx的強(qiáng)緩存和協(xié)商緩存
這篇文章主要為大家詳細(xì)介紹了Nginx中強(qiáng)緩存和協(xié)商緩存的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03
nginx自定義變量與內(nèi)置預(yù)定義變量的使用
這篇文章主要介紹了nginx自定義變量與內(nèi)置預(yù)定義變量的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06

