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 restart

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

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

 

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

 

posted @ 2017-02-13 23:39  莱恩特  阅读(4152)  评论(0编辑  收藏  举报