Apache:仅允许某些 http 请求,拒绝所有其他请求

Apache:仅允许某些 http 请求,拒绝所有其他请求

我们在 Windows Server 2008 机器上有一个 Apache 服务器,用于为客户提供特定的安全流量,就像网关一样。

现在,我只想允许特定范围的安全 URL 的流量,这些 URL 由通配符 uri 定义:****secure.mysite.com****,并拒绝所有其他对 Apache 的 http 或 https 请求

如何在 Apache httpd conf 文件中进行设置?

谢谢

答案1

你可以允许通过环境变量进行访问,该变量仅通过您想要匹配的请求 URI 模式设置设置环境变量

在您的主机或虚拟主机中,使用您想要允许的 URI 进行下列配置:

SetEnvIf Request_URI ^/requests/you/want/.* allow 
SetEnvIf Request_URI ^/requests/you/want/.+?\.php$ allow 

如果您正在处理来自 Apache 的请求:

<Location /> 
 Order Deny,Allow
 Deny from all
 Allow from env=allow
</Location> 

或者通过代理mod_proxy,您可能希望将 URI 匹配与一些 IP 限制结合起来,这样您就不会开放代理。

SetEnvIf Remote_Addr ^10\..+ deny

<Proxy *>
 Order Allow,Deny
 Deny from env=deny
 Allow from env=allow
</Proxy>

在这种情况下,如果 IP 是不是10.0.0.0/8拒绝范围内,Order很重要

相关内容