模块 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
文件名可以包含变量。
支持以下密码类型:
- 使用
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
方案的支持。不应该用于新密码,因为它使用的无盐SHA-1哈希容易受到 彩虹表 攻击。