通过 IP 和路径重定向过滤的反向代理 Apache

通过 IP 和路径重定向过滤的反向代理 Apache

我正在尝试使用 apache 创建反向代理,如果它收到以 /thisismypath 作为路径的请求,并且发出该请求的 ip 地址是 192.168.2.12,则它应该重定向到 192.168.1.40。如果任何其他 ip 使用相同的路径发出相同的请求,它应该重定向到 192.168.2.11,如果请求与该路径不匹配,则显示索引页。

我尝试了下一个

<Location /thisismypath>
    Deny from all
    Allow from 192.168.2.12 
    ProxyPassMatch "https://192.168.1.40:443/thisismypath/$1"
    ProxyPassReverse https://192.168.1.40:443
</Location>

<Location /thisismypath>
    Allow from all
    ProxyPassMatch "https://192.168.2.11:443/thisismypath/$1"
    ProxyPassReverse https://192.168.2.11:443
</Location>

这不起作用,因为就像第一个位置部分被第二个替换了一样。所以我尝试了下一个:

<If "-R '192.168.2.12'">
    Deny from all
    Allow from 192.168.2.12 
    ProxyPassMatch "https://192.168.1.40:443/thisismypath/$1"
    ProxyPassReverse https://192.168.1.40:443
</If>
<Else>
    Allow from all
    ProxyPassMatch "https://192.168.2.11:443/thisismypath/$1"
    ProxyPassReverse https://192.168.2.11:443
</Else>

但它也不起作用,因为 ProxyPassMatch 语句不能放在 If 部分中。有什么想法我该怎么做吗?

相关内容