ngx_http_auth_basic_module 模块允许通过使用 “HTTP Basic Authentication” 协议验证用户名和密码来限制对资源的访问。
访问还可以根据地址、子请求的结果或 JWT 进行限制,同时通过地址和密码限制访问由 satisfy 指令控制。
location / { auth_basic "closed site"; auth_basic_user_file conf/htpasswd; }
语 法:auth_basic string | off; 默认值:auth_basic off; 上下文:http, server, location, limit_except
启用使用 “HTTP Basic Authentication” 协议的用户名和密码验证。指定的参数用作领域。指定的参数用作领域,参数值可以包含变量(1.3.10、1.2.7),特殊值 off 取消了从先前配置级别继承的 auth_basic 指令的配置。
语 法:auth_basic_user_file file; 默认值:— 上下文:http, server, location, limit_except
指定保存用户名和密码的文件,格式如下:
# comment name1:password1 name2:password2:comment name3:password3
文件名可以包含变量。
支持以下密码类型:
使用 crypt() 函数加密;可以使用 Apache HTTP Server 发行版中的“htpasswd”实用程序或“openssl passwd”命令生成;
使用基于 MD5 的密码算法 (apr1) 的 Apache 变体进行散列;可以使用相同的工具生成;
由 RFC 2307 中描述的“{scheme}data”语法(1.0.3+)指定; 当前实现的方案包括 PLAIN(一个示例,不应使用)、SHA(1.3.13)(不应使用纯 SHA-1 散列)和 SSHA(一些软件包使用的加盐 SHA-1 散列,特别是 OpenLDAP 和 Dovecot)。
注意:添加对 SHA 方案的支持只是为了帮助从其他 Web 服务器迁移。 它不应该用于新密码,因为它使用的未加盐 SHA-1 散列容易受到彩虹表攻击。