如何防止访问子位置
How to prevent access to a subLocation
我有一个隐藏在 Apache 2.4 后面的 webapp,它被设置为代理
我的配置是这样的:
<Location /myapp>
Proxypass ajp://localhost:8009/myapp
Require all granted
</Location>
最近,我被要求阻止除白名单 IP 之外的任何人访问我的应用程序 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/ to be accessible to anyone, but to restrict calls to http://mysite/myapp/api/* 到一堆白化 IP
你知道我怎样才能做到这一点吗?
此致
由于 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>
我有一个隐藏在 Apache 2.4 后面的 webapp,它被设置为代理
我的配置是这样的:
<Location /myapp>
Proxypass ajp://localhost:8009/myapp
Require all granted
</Location>
最近,我被要求阻止除白名单 IP 之外的任何人访问我的应用程序 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/ to be accessible to anyone, but to restrict calls to http://mysite/myapp/api/* 到一堆白化 IP
你知道我怎样才能做到这一点吗?
此致
由于 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>