我已经成功地创建了一个可以正常工作的ProxyPass ajp规则,但是现在我想限制某些使用IP白名单的URL的访问。换句话说,当有人来自不在白名单上的IP时,该请求不应该被接受(并且理想情况下,应当发布某种拒绝访问)有条件的代理通过使用ip白名单的ajp规则
我没有控制机器i代理传递给我,所以我不能把IP白名单放在那台机器的配置上。这就是为什么我试图在具有proxypass规则的同一台机器上进行配置。
定义一个<位置/路径>'Allow from'规则不起作用,因为请求仍然是proxypassed。我想这仅仅意味着代理通行规则在位置规则之前。
我试图解决它通过设置一个环境变量,取决于远程地址(因为那时我可以代理非白名单ips不存在的网址 - 不漂亮,但它会实现目标) ,但似乎proxypass规则不适用于环境变量。像这样简单:
SetEnv custom_proxypath=/
ProxyPass %{ENV:custom_proxypath} ajp://10.50.40.21:8009/
ProxyPassReverse %{ENV:custom_proxypath} ajp://10.50.40.21:8009/
不起作用。而
ProxyPass/ajp://10.50.40.21:8009/
ProxyPassReverse/ajp://10.50.40.21:8009/
完美的作品。
我没有选择。有没有人有建议如何解决这个问题?