Nginx下配置Http Basic Auth保护目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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保护目录的主要内容,如果未能解决你的问题,请参考以下文章

nginx安全: 配置http基本验证(Basic Auth)(nginx 1.18.0)

nginx配置指令auth_basic、auth_basic_user_file及相关知识

nginx 添加basic auth

使用nginx给网站添加身份认证

nginx 配置用户认证

Nginx设置HTTP基本验证