Blog

Nginx 目录保护 ≠ 入了4通

有时不想某个目录被访问,所以要加密码之类来保护,以前用过的 Apache 好像很简单就实现目录加密。我用的是 Nginx,用了那么久 Nginx 还真没试过加密……

参考了一些资料,然后发现这样就可以:(Debian系统,配置中“#.......”表示后续还有其他配置)

1. 配置网站(假如 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 文件可能需要设为 nginx 的运行用户所有)

这样,你直接访问 http://yousite.com/ooxx 就会提示你输入用户和密码了,输入刚才用 htpasswd 设置的用户和密码就可以进去了!

……

但是,然后你会发现,直接访问里面的 php 文件会变成下载而不是运行——超囧~

检查了 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/ 的 ^~ 去掉的话,会变成访问目录需要输入密码,但是却可以直接访问文件,注意。

-------

跟本文主要内容无关:

前段时间不是入了6通遥控直升机么,在不到20平的还放着一些沙发的房间里被虐了,牺牲了一个机尾桨终于可以对尾悬停了,然后继续“深造”,发现,这么小的空间无法继续“深造” + 满足飞行欲望(练习6通还是需要宽广的地方,不然零部件代价很高)。然后某天深夜手一抖入了个4通的……今天收到货,一试,简单……好吧,室内玩就它了,室外就6通,嘿嘿

140513-4-through-remote-control-helicopter

zww
or
oooo

声明: 除非注明,ZWWoOoOo文章均为原创,转载请以链接形式标明本文地址
本文地址: http://zww.me/nginx-directory-protection.z-turn

37 comments

  1. 独自流浪 独自流浪

    每到遇到这样的需求,就觉得.htaccess是多么好的东西

    沙发
  2. aunsen aunsen

    哈哈,貌似比给我买给儿子的差不多大小哇 :twisted:

    板凳
  3. 甜菜 甜菜

    赛睿鼠标垫乱入
    zww壕啊

    地板
  4. 昵图网 昵图网

    最近有新的wp theme发布么 :evil:

    4楼
  5. 一里 一里

    入坐,鼠标不错,什么型号的?

    5楼
    • zwwooooo zwwooooo

      @一里
      SteelSeries(赛睿)《魔兽世界:大地的裂变》大灾变版激光游戏鼠标

  6. 大发 大发

    footer太宽溢出了。。

    6楼
  7. Pete Pete

    直升飞机六通是什么意思
    不过看上去很好玩哈

    7楼
    • zwwooooo zwwooooo

      @Pete
      2通就是:上下、左右,3通就是上下、左右、前进后退,4通是比3通多了一个左右侧飞,6通多了倒转来飞(机翼向下)

  8. 西门 西门

    螺旋桨外面不套个圈圈,总感觉是个电锯啊

    8楼
  9. 郑永 郑永

    很明显,你也喜欢飞行,呵呵。。。我也是,呵呵。

    9楼
  10. 郑永 郑永

    我还在想,在youtube上面看到一种小机器夹在 用纸折的飞机上, 飞机就能飞了,那个很不错,另外最近流行的 飞行器送包囊,也是非常赞的,希望以后会流行起来。

    10楼
  11. 小王子 小王子

    大叔玩的是越来.......

    11楼
  12. kn007 kn007

    前面流水,后面的飞机我喜欢

    12楼
  13. A.yi A.yi

    貌似好好玩的飞机

    13楼
  14. 屠龙 屠龙

    有了加密插件,再也不用担心。

    14楼
  15. asim asim

    很明显,你也喜欢飞行,呵呵。。。我也是,呵呵。

    15楼
  16. asim asim

    问一下博主用的什么主机

    16楼
  17. Timothy Timothy

    接下来该入四轴飞行器了

    17楼

Leave a Reply