通过Apache过滤请求

时间:2019-04-29 13:59:31

标签: apache reverse-proxy mod-proxy

我需要拒绝对Apache的所有请求,但只允许某些指定的URL模式。

这是一个现有的Linux服务器,运行Apache 2.4,Nodejs等。目前,我使用HttpContent根据URL自定义proxypass。例如,

让这些URL为:

http://111.111.111.111/ 版本1 / something / continuation

http://111.111.111.111/ 版本2 / something / continuation

<Location>

因此,根据请求的URL模式,我可以代理到不同的端口和ip地址。

我需要的是,我想拒绝所有其他请求,例如:

http://111.111.111.111/(甚至/)

http://111.111.111.111/anyother/request

我可以使用位置(例如apache)在Nginx上解决此问题。最后我指定:

<Location /version1/>
    ProxyPass http://some.ip.address:3003/  retry=0 timeout=60 keepalive=On
    ProxyPassReverse http://some.ip.address:3003/
</Location>

<Location /version2/>
    ProxyPass http://some.another.ip.address:3004/  retry=0 timeout=60 keepalive=On
    ProxyPassReverse http://some.another.ip.address:3004/
</Location>

但是当我如下申请Apache时:

  location / {

      deny all;
     return 403;
}

它拒绝任何请求,甚至包括/ version1 /和/ version2 /

总而言之,我只想提供一些指定的URL,并拒绝除这些URL之外的所有其他请求(事件/请求)。我如何通过Apache解决此问题?

谢谢, 问候

0 个答案:

没有答案