【发布时间】:2013-04-16 18:23:20
【问题描述】:
我已经成功创建了一个运行良好的 ProxyPass ajp 规则,但现在我想使用 ip-whitelist 限制某些 url 的访问。换句话说,当某人来自不在白名单上的 ip 时,请求不应被代理通过(理想情况下,应该发出某种访问被拒绝)
我无法控制代理传递到的机器,因此我无法将 ip-whitelist 放在该机器的配置中。这就是为什么我试图在具有 proxypass 规则的同一台机器上配置它。
使用“允许来自”规则定义
我尝试通过根据远程地址设置环境变量来解决它(因为这样我可以将非白名单 ips 代理到不存在的 url - 不漂亮,但它会实现目标) ,但似乎 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/
完美运行。
我没有选择。有没有其他人建议如何解决这个问题?
【问题讨论】:
标签: apache conditional config ajp proxypass