基础认证#

允许通过使用“HTTP基本认证”协议验证用户名和密码来限制对资源的访问。

访问也可以通过 地址 或通过 子请求结果 来限制。通过地址和密码同时限制访问由 满足 指令控制。

配置示例#

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基本认证”协议启用用户名和密码验证。指定的参数用作 领域。参数值可以包含变量。

off

取消从先前配置级别继承的 auth_basic 指令的效果

auth_basic_user_file#

语法

auth_basic_user_file file;

默认

上下文

http, server, location, limit_except

指定一个 文件 来保存用户名和密码,格式如下:

# 注释
name1:password1
name2:password2:comment
name3:password3

文件 名可以包含变量。

支持以下密码类型:

  • 使用`crypt()`函数加密;可以使用Apache HTTP Server发行版中的 htpasswd 工具或"openssl passwd"命令生成;

  • 使用基于MD5的密码算法的Apache变体(apr1)进行哈希;可以使用相同的工具生成;

  • 按照 RFC 2307 中描述的"{scheme}data"语法指定;目前实现的方案包括`PLAIN` (一个示例,不应使用)、SHA (纯SHA-1哈希,不应使用)和`SSHA` (加盐SHA-1哈希,一些软件包使用,尤其是OpenLDAP和Dovecot)。

小心

SHA方案的支持仅为从其他Web服务器迁移提供帮助。它不应用于新密码,因为采用的未加盐SHA-1哈希易受`彩虹表 <http://en.wikipedia.org/wiki/Rainbow_attack>`_攻击。