ngx_http_auth_basic_module 模块

ngx_http_auth_basic_module 模块允许通过使用 “HTTP Basic Authentication” 协议验证用户名和密码来限制对资源的访问。

访问还可以根据地址、子请求的结果或 JWT 进行限制,同时通过地址和密码限制访问由 satisfy 指令控制。

示例配置

location / {
    auth_basic           "closed site";
    auth_basic_user_file conf/htpasswd;
}

指令

auth_basic 指令

语 法: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 指令

语 法: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 散列容易受到彩虹表攻击。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号