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