Nginx 目录保护 ≠ 入了4通

» 2014-05-14 折腾 37条评论

有时不想某个目录被访问,所以要加密码之类来保护,以前用过的 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

“Nginx 目录保护 ≠ 入了4通”有37条评论

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

    1. zwwooooo says:

      @独自流浪
      哈,的确是。

  2. aunsen says:

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

    1. zwwooooo says:

      @aunsen
      不是靠大小决定的……我有个6通的也是这般大小,牛的很。

  3. 甜菜 says:

    赛睿鼠标垫乱入
    zww壕啊

    1. zwwooooo says:

      @甜菜
      工作和游戏需要……

  4. 昵图网 says:

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

  5. 一里 says:

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

    1. zwwooooo says:

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

  6. 大发 says:

    footer太宽溢出了。。

    1. zwwooooo says:

      @大发
      怎样溢出?没刷新到最新的css吧……

  7. Pete says:

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

    1. zwwooooo says:

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

  8. 西门 says:

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

    1. zwwooooo says:

      @西门
      你见过这样的直升机么?我在阿凡达里面看过……

  9. 郑永 says:

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

    1. zwwooooo says:

      @郑永
      好像跟喜不喜欢飞行关系不是特别大,这个是控制的乐趣

  10. 郑永 says:

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

    1. zwwooooo says:

      @郑永
      给视频地址看看,好有趣的样子

  11. 小王子 says:

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

    1. zwwooooo says:

      @小王子
      越小孩么?那么你错了,航模不是小孩子玩的

    2. 小王子 says:

      @zwwooooo
      我意思是摸不着你到底还喜欢什么

    3. zwwooooo says:

      @小王子
      只能这样说:兴趣广泛随心专

  12. kn007 says:

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

    1. zwwooooo says:

      @kn007
      过来一起玩

    2. kn007 says:

      @zwwooooo
      有机会就去

  13. A.yi says:

    貌似好好玩的飞机

  14. 屠龙 says:

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

  15. asim says:

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

    1. zwwooooo says:

      @asim
      我喜欢控制的乐趣……

  16. asim says:

    问一下博主用的什么主机

    1. zwwooooo says:

      @asim
      香港vps

    2. asim says:

      @zwwooooo
      叫什么名字啊

    3. zwwooooo says:

      @asim
      请看footer,这几家就是我经常用的

  17. Timothy says:

    接下来该入四轴飞行器了

    1. zwwooooo says:

      @Timothy
      你是指那些4个桨的?那个不怎么好玩,不如直接直升机

发表评论

昵称 *

网址

B em del U Link Code Quote