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