模块 ngx_http_auth_basic_module
配置示例 指令 auth_basic auth_basic_user_file |
ngx_http_auth_basic_module
模块允许使用“HTTP 基本认证”协议通过验证用户名和密码来限制对资源的访问。
访问也可以通过 地址、通过 子请求的结果 或通过 JWT 来限制。同时限制按地址和按密码的访问由 satisfy 指令控制。
配置示例
location / { auth_basic "closed site"; auth_basic_user_file conf/htpasswd; }
指令
语法 |
auth_basic |
---|---|
默认值 |
auth_basic off; |
上下文 |
http , server , location , limit_except |
启用使用“HTTP 基本认证”协议验证用户名和密码。指定的参数用作 realm
。参数值可以包含变量 (1.3.10, 1.2.7)。特殊值 off
取消从上一配置级别继承的 auth_basic
指令的效果。
语法 |
auth_basic_user_file |
---|---|
默认值 | — |
上下文 |
http , server , location , limit_except |
指定一个包含用户名和密码的文件,格式如下
# comment name1:password1 name2:password2:comment name3:password3
file
名称可以包含变量。
支持以下密码类型
- 使用
crypt()
函数加密;可以使用 Apache HTTP Server 发行版中的“htpasswd
”工具或“openssl passwd
”命令生成; - 使用基于 MD5 的密码算法的 Apache 变体 (apr1) 进行哈希处理;可以使用相同的工具生成;
- 按“
{
scheme
}
data
”语法 (1.0.3+) 指定,如 RFC 2307 中所述;当前实现的方案包括PLAIN
(示例,不应使用)、SHA
(1.3.13) (普通 SHA-1 哈希,不应使用) 和SSHA
(加盐 SHA-1 哈希,由某些软件包使用,特别是 OpenLDAP 和 Dovecot)。添加对
SHA
方案的支持仅用于帮助从其他 Web 服务器迁移。新密码不应使用它,因为它采用的未加盐的 SHA-1 哈希容易受到 彩虹表 攻击。