如何覆盖 Apache 的摘要身份验证域?

如何覆盖 Apache 的摘要身份验证域?

我有由 Apache 支持的 Passenger。我尝试有选择地对我的 URL 进行摘要式身份验证。我有以下场景。

  1. 位置 / 需要在领域 Foo 下进行摘要认证
  2. 位置 /a 不需要验证
  3. 位置 /a/b 需要在领域 Bar 下进行摘要认证

这是我的配置(或多或少):

<Location />
 AuthName Foo
 AuthType Digest
 AuthDigestDomain /
 AuthUserFile /etc/apache2/foo_digest.users
 require valid-user
</Location>
<Location /a >
 Allow from all
 Satisfy Any
</Location>
<Location /a/b >
 AuthName Bar
 AuthType Digest
 AuthDigestDomain /a/b
 AuthUserFile /etc/apache2/bar_digest.users
 require valid-user
<Location>

结果如下:

  1. 位置 / 正在接受摘要身份验证 Foo
  2. 位置 /a 未接受任何身份验证
  3. 位置 /a/b 也未接受任何身份验证

我对此还很陌生。我做错了什么?

答案1

<Location /a/b>块中,您需要Satisfy All切换回该位置的默认行为,否则它将使用 from Satisfy Any<Location /a>允许所有与基于主机的Allow/Deny指令匹配的主机。

相关内容