首页 > 代码库 > Nginx下配置Http Basic Auth保护目录

Nginx下配置Http Basic Auth保护目录

     nginx basic auth指令

语法:     auth_basic string | off;
默认值:     auth_basic off;
配置段:     http, server, location, limit_except

默认表示不开启认证,后面如果跟上字符,这些字符会在弹窗中显示。

语法:     auth_basic_user_file file;
默认值:     —
配置段:     http, server, location, limit_except

 

1. 下载这个Python文件:http://trac.edgewall.org/export/10770/trunk/contrib/htpasswd.py (nginx wiki里推荐的)

chmod 777 htpasswd.py  #给文件加上权限
./htpasswd.py -c -b htpasswd username password
#-c为生成文件 htpasswd为文件名
-d 是以 crypt 加密
username为登录的名字 password为登录密码

2.可以使用可以使用htpasswd,或者使用openssl创建密码

# printf "ttlsa:$(openssl passwd -crypt 123456)\n" >>conf/htpasswd
# cat conf/htpasswd 
ttlsa:xyJkVhXGAZ8tM

3.把htppasswd文件放到nginx/conf文件下面,编辑nginx.conf文件

在location里面加两行:
auth_basic     "password please";
auth_basic_user_file  conf/htpasswd;

4.重启Nginx服务

service nginx start

5.注意错误提醒:说明43行有错

技术分享

6.可以使用curl -v http://localhost 查看http返回的状态码:401未经授权表示成功

技术分享 

7.在浏览器里默认的访问地址是http://localhost

技术分享

 

Nginx下配置Http Basic Auth保护目录