我要管理以下任务: 在我的apache服务器(充当代理服务器)中,我只需要允许访问某些子网。由于它位于WAF(封装)的后面,因此我尝试从 X-Forwarded-For 中提取要接受的IP,并与此
匹配distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip
实际上是这样的
gradle-4.10.1
但是在这种情况下,IP的数量太大而无法管理
您有什么建议吗?
答案 0 :(得分:0)
我用以下方法解决: 我添加了这些指令以获取X-Forwarded-For收集的第二个($ 2)IP,然后将ipmatch匹配到需要检查的子网掩码:
SetEnvIf X-Forwarded-For "^(.*,\s*)(.*)(,\s*.*)$" ip_to_catch=$2
SetEnvIFExpr "env('ip_to_catch') -ipmatch '66.91.255.128/27'" AllowIP
最后我在授予对我的资源的访问权限之前添加了此命令以检查AllowIP值:
<RequireAll>
Require env AllowIP
</RequireAll>