Apache基于地址的访问控制

Apache基于地址的访问控制

我有一个服务于不同位置的 Apache 实例,例如

https://host.com/jira
https://host.com/svn
https://host.com/websvn
https://host.com/phpmyadmin

这些规则都基于 IP 地址/主机名,但其中一些使用相同的配置,因此每次我都必须重复相同的规则:

Order Deny,Allow
Deny from All
Allow from 10.35 myhome.com mycollegueshome.com

有没有办法让它们可重复使用,这样我就不必每次发生更改时都更改每个实例?也就是说,我可以编写一次,然后将其用于几个位置吗?也许可以使用 SetEnvIf?如果我可以做类似这样的伪配置就好了:

<myaccessrule>
  Order Deny,Allow
  Deny from All
  Allow from 10.35 myhome.com mycollegueshome.com
</myaccessrule>

<Proxy /jira*>
  AccessRule = myaccessrule
</Proxy>

<Location /svn>
  AccessRule = myaccessrule
</Location>

<Directory /websvn>
  AccessRule = myaccessrule
</Directory>

答案1

您正在寻找 mod_macro。

http://cri.ensmp.fr/~coelho/mod_macro/

答案2

如果您已经在使用 mod_perl,请记住 mod_perl 包装了 Apache 的配置位以及数据服务位。

http://perl.apache.org/start/tips/config.html

相关内容