模块 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 哈希容易受到 彩虹表 攻击。