我们有两台Apache服务器作为前端,四台Tomcat服务器作为后端,使用mod_proxy模块作为负载均衡器。 现在,我们要从mod_proxy负载平衡器中排除单个tomcat url。 有什么方法或规则可以排除?
代理平衡器设置:
<Proxy balancer://backend-cluster1> BalancerMember http://10.0.0.1:8080 loadfactor=1 route=test1 retry=10 BalancerMember http://10.0.0.2:8080 loadfactor=1 route=test2 retry=10 </Proxy>
您可以在完整的ProxyPass语句(您的示例缺失)之前排除带有感叹号(!)的mod_proxy的path – 它看起来像ProxyPass /path balancer://backend-cluster1 。 因此,要排除path,请添加:
ProxyPass /my/excluded/path !
之前
ProxyPass /my balancer://backend-cluster1
您可以在代理指令之上进行重写,当用户尝试访问要排除的url时,会给用户一个404错误。 您将需要启用rewrite_module。
<Location ~ ^/urltoblock($|/)> RewriteEngine On RewriteRule .* - [L,R=404] </Location>