Apache:只允许某些HTTP请求,拒绝其他所有

在Windows Server 2008计算机上,我们有一个Apache服务器,用于客户的特定安全stream量,如网关。

现在,我只想允许通过一个通配符uri:**** secure.mysite.com ****定义的一定范围的安全URL,并拒绝所有其他httphttps请求到Apache

你如何在Apache的httpdconfiguration文件中设置?

谢谢

您可以通过环境variables来允许访问,该环境variables只能通过要与SetEnvIf匹配的请求URI模式进行设置。

在您的主机或虚拟主机中,使用您要允许的URIconfiguration以下内容:

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是重要的