ngx_http_auth_basic_module
只用HTTP基本认证(用户名、密码)方式限制资源访问。
指令
名称 | 参数类型 | 默认值 | 作用描述 | 上下文 |
---|---|---|---|---|
auth_basic | string | off | off | 认证realm名称 |
auth_basic_user_file | file | - | 保存用户名、密码的文件 | http, server, location, limit_except |
提示
auth_basic_user_file
文件名允许包含变量,文件内容格式如下:
txt
# comment
name1:password1
name2:password2:comment
name3:password3
1
2
3
4
2
3
4
密码支持加密方式:
openssl passwd
/openssl passwd -apr1
格式如
{scheme}data
,其中scheme可为PLAIN、SHA、SSHA可以借助
slappasswd
命令生成密码,slappasswd -h {SSHA} -s password
示例
nginx
server {
listen 8081;
location / {
# 开启基本认证
auth_basic "Private Site";
# conf目录
auth_basic_user_file auth-user.txt;
root html;
index index.html index.htm;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
txt
# 用户名分别为ssl、md5、plain、sha、ssha,密码均为password
ssl:qAVFGzGQRGdtk
md5:$apr1$JigHiHRS$RCeYsJxHamERjwYKYq.LL/
plain:{PLAIN}password
sha:{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=
ssha:{SSHA}b7uXFQ55ZTf3nYKbmsepA0v6ozq7++c2
1
2
3
4
5
6
2
3
4
5
6
访问http://localhost:8081后效果如下: