Apache代理平衡器覆盖文件访问限制

时间:2016-11-09 08:59:34

标签: apache mod-rewrite configuration server

我有1个负载均衡器服务器和2个负载分配的应用服务器。

现在我有一个奇怪的问题
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

当请求转发到应用服务器时,规则dous不会被触发。

设置为:

<Proxy balancer://catdefault>
  BalancerMember http://xx.xxx.xxx:8081
  BalancerMember http://xx.xxx.yyy:8081
</Proxy>

在虚拟主机中,我把它包括在内:

    ProxyPass / balancer://catdefault/
    ProxyPassReverse / balancer://catdefault/

奇怪的是,当我在应用服务器中应用文件规则时,这是一个平衡记忆器ex。 http://xx.xxx.xxx:8081然后规则得到尊重。

现在我们同意不在应用服务器上使用重新设置,因为它们将在晚些时候或其中许多,并且管理会很重。

知道如何让文件从负载均衡器服务器而不是http://xx.xxx.xxx:8081服务器上运行???

1 个答案:

答案 0 :(得分:1)

<Directory><Files>指令仅适用于驻留在文件系统中的对象。 也许这样的事情可以帮助(未经测试):

ProxyPassMatch "(?i)\.ht([^/]*)$" ! 
ProxyPass / balancer://catdefault/
ProxyPassReverse / balancer://catdefault/