Apache - 保护特定的 http 模式

Apache - 保护特定的 http 模式

我想限制某些域访问我的应用服务器上的服务。例如:mydomain.com/sensitiveInformationServlet

我想在我的 Apache 服务器上创建一个过滤器,它将匹配这个 servlet 的所有请求并检查域,如果受信任则允许访问。

最好的方法是什么?最初我以为我可以创建一个虚拟主机,然后应用 mod_authz_host 模块,但是虚拟主机只能映射到域和端口,并忽略端口之后的所有内容。

有什么建议吗?这是我目前所取得的进展

<VirtualHost mydomain>
    <Location />
       Order Deny,Allow
       Deny from all
       Allow from mydomain.com some.trusteddomain.com
    </Location>
</VirtualHost>

这将阻止访问整个站点,而不仅仅是sensitiveInformationServlet servlet

答案1

因此请具体说明。

<VirtualHost *:80>
    DocumentRoot /your/fancy/web/site
    <Location /SensitiveInformationURL>
       Order Deny,Allow
       Deny from all
       Allow from specific.IP.range.to.prevent.expensive.lookups.
    </Location>
</VirtualHost>

按域匹配客户端的成本很高,因为它需要 PTR 查找每一个请求。
我还更正了您的错误 VirtualHost。

相关内容