模块 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 基本认证”协议验证用户名和密码。指定的参数用作 域
。参数值可以包含变量 (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
文件
名称可以包含变量。
支持以下密码类型
-
使用
crypt()
函数加密;可以使用 Apache HTTP Server 发行版中的“htpasswd
”实用程序或“openssl passwd
”命令生成; - 使用 Apache MD5-based 密码算法 (apr1) 变体进行哈希;可以使用相同的工具生成;
-
由“
{
方案
}
数据
”语法指定 (1.0.3+),如 RFC 2307 中所述;当前实现的方案包括PLAIN
(示例方案,不应使用)、SHA
(1.3.13)(纯 SHA-1 哈希,不应使用)和SSHA
(salted SHA-1 哈希,由一些软件包使用,特别是 OpenLDAP 和 Dovecot)。仅添加对
SHA
方案的支持以帮助从其他 Web 服务器迁移。不应将其用于新密码,因为它采用的无盐 SHA-1 哈希容易受到 彩虹表 攻击。