国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

Nginx對某個目錄設(shè)置密碼保護(hù)例子

2024-08-30 12:27:00
字體:
供稿:網(wǎng)友

有時不想某個目錄被訪問,所以要加密碼之類來保護(hù),以前用過的 Apache 好像很簡單就實(shí)現(xiàn)目錄加密。我用的是 Nginx,用了那么久 Nginx 還真沒試過加密……
參考了一些資料,然后發(fā)現(xiàn)這樣就可以:(Debian系統(tǒng),配置中“#.......”表示后續(xù)還有其他配置)
1. 配置網(wǎng)站(假如 yousite.com 放在 /home/www,然后要對 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)行用戶所有)

這樣,你直接訪問 http://yousite.com/ooxx 就會提示你輸入用戶和密碼了,輸入剛才用 htpasswd 設(shè)置的用戶和密碼就可以進(jìn)去了!

但是,然后你會發(fā)現(xiàn),直接訪問里面的 php 文件會變成下載而不是運(yùn)行——超囧~

檢查了 nginx 對 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;
}
沒錯啊

我是這樣解決的:在剛才的 location ^~ /ooxx/{ ... } 里面加多一段對 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;
 }

 #......

}
搞定收工,具體請參考 Nginx 官方文檔,我隨便玩的(反正是成功了)。

附帶說明:如果把 location ^~ /ooxx/ 的 ^~ 去掉的話,會變成訪問目錄需要輸入密碼,但是卻可以直接訪問文件,注意。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 卓资县| 洪泽县| 临高县| 民乐县| 太仓市| 镇平县| 平果县| 铜梁县| 唐河县| 左贡县| 常德市| 龙胜| 湘阴县| 邳州市| 隆安县| 邵东县| 修水县| 德江县| 伊吾县| 莎车县| 越西县| 湘乡市| 郯城县| 鹿泉市| 大冶市| 抚松县| 渭南市| 通化县| 沂水县| 汝阳县| 常德市| 广东省| 保康县| 江安县| 普安县| 息烽县| 饶河县| 新闻| 炎陵县| 长阳| 安庆市|