Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1097016
  • 博文数量: 321
  • 博客积分: 7872
  • 博客等级: 少将
  • 技术积分: 2120
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 09:06
文章分类

全部博文(321)

文章存档

2017年(1)

2016年(1)

2015年(12)

2014年(17)

2013年(78)

2012年(15)

2011年(17)

2010年(67)

2009年(102)

2008年(11)

分类: LINUX

2012-08-02 17:04:32

转自:

============================================================================================

一直来保护网站的某些目录的访问,现在VPS上换成了Nginx同样需要保护一下。

Nginx下的配置也挺方便的,我们可以沿用由Apache的htpasswd模块生成的.htpasswd文件作为密码文件。注意,nginx 的 http auth basic 的密码是用 crypt(3) 加密的,而apache是md5加密。所以生成时:

1/usr/local/apache2/bin/htpasswd -c -d pass_file user_name
2#回车输入密码,-c 表示生成文件,-d 是以 crypt 加密。

对于lnmp用户,一般不安装apache了,文末老N会告诉你个生成方法。

我们将这个htpasswd文件放到nginx/conf下,记得chmod 400 htpasswd来保护一下。

然后修改nginx.conf:

01server {
02    server_name d8.neolee.com;
03    root /var/www/d8.neolee.com;
04    include /etc/nginx/fastcgi_php;
05    location / {
06     auth_basic            "Password please";
07     auth_basic_user_file  /usr/local/nginx/conf/htpasswd;
08        index index.php;
09        if (!-e $request_filename) {
10            rewrite ^(.*)$  /index.php last;
11        }
12    }
13}

加入了

1auth_basic            "Password please";
2auth_basic_user_file  /usr/local/nginx/conf/htpasswd;

重启nginx即可。
给了例子看看,请访问 用户名neo 密码123

 

========

最后我们说下怎么在nginx下生成htpasswd

下载这个python文件: (nginx wiki里推荐的)

运行示例

1chmod 777 htpasswd.py
2./htpasswd.py -c -b htpasswd username password
3#-c为生成文件 htpasswd为文件名



阅读(1608) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~