【问题标题】:How to prevent access to a subLocation如何防止访问子位置
【发布时间】:2020-02-02 13:37:07
【问题描述】:

我有一个隐藏在 Apache 2.4 后面的 webapp,它被设置为代理

我的配置是这样的:

<Location /myapp>
Proxypass ajp://localhost:8009/myapp
Require all granted
</Location>

最近,有人要求我阻止除白名单 IP 之外的任何人访问可通过 /myapp/api/ 访问的 myapp API

我未能在 Apache 中实现正确的配置以使其如此

这是我迄今为止尝试过的:

<Location /myapp/api>
Proxypass ajp://localhost:8009/myapp/api
Require local
Require 1.2.3.4
</Location>


<Location /myapp>
Proxypass ajp://localhost:8009/myapp
Require all granted
</Location>

所以我需要让任何人都可以访问http://mysite/myapp/,但将对http://mysite/myapp/api/* 的调用限制为一堆白化IP

你知道我是怎么做到的吗?

最好的问候

【问题讨论】:

    标签: apache mod-proxy apache2.4


    【解决方案1】:

    因为Overlapping Webspace,你应该颠倒Location指令的顺序

     <Location /myapp>
    Proxypass ajp://localhost:8009/myapp
    Require all granted
    </Location>
    
    <Location /myapp/api>
    Proxypass ajp://localhost:8009/myapp/api
    Require local
    Require 1.2.3.4
    </Location>
    

    【讨论】:

      猜你喜欢
      • 2017-02-01
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      • 2015-12-04
      • 2017-07-24
      • 2014-06-21
      • 1970-01-01
      • 2011-04-28
      相关资源
      最近更新 更多