如何配置仅对指定的IP地址不进行身份验证的目录

时间:2014-10-23 14:26:19

标签: apache configuration directory

/目录中,我正在使用AuthType SPNEGO,但在一个子目录中,我需要不进行身份验证,但只能从列出的IP地址访问。 以下是该目录的当前配置:

<Directory /foo/bar>
  Order Deny,Allow
  Deny from all
  Allow from 1.2.3.4 1.2.3.5
</Directory>

通过添加Satisfy Any(如所描述的here),目录可以在不进行身份验证的情况下访问,但可以访问所有IP地址,而不仅仅是列出的地址。我怎样才能做到这一点?

配置/

<Directory />
  AuthName "FOO"
  <IfDefine AUTH_SPNEGO>
    Krb5ServiceName HTTP
    AuthType SPNEGO
  </IfDefine>
  require valid-user
  allow from all
</Directory>

1 个答案:

答案 0 :(得分:0)

你可以这样做:

<Directory /foo/bar>
  Order Deny,Allow
  Deny from all
  Allow from 1.2.3.4 1.2.3.5
</Directory>

<DirectoryMatch /(?!foo/bar)>
  AuthName "FOO"
  <IfDefine AUTH_SPNEGO>
    Krb5ServiceName HTTP
    AuthType SPNEGO
  </IfDefine>
  require valid-user
  allow from all
</DirectoryMatch>

/ foo / bar只能通过特定IP访问(本例中为1.2.3.4和1.2.3.5)

我们为/ exclude / foo / bar

设置密码验证