我如何配置 mod_proxy 来屏蔽请求?

我如何配置 mod_proxy 来屏蔽请求?

也许这是一个新手问题,但通常我不需要处理这些事情。我刚刚安装了带有 mod_proxy 的 apache,我想将其用作正向 http 代理。我想要做的是,如果 Web 客户端执行了某种格式的请求,则该请求将被发送到另一个目标 URL,而客户端不会注意到它。

无论什么域名,当 URL 的域名后直接包含“mysign”时,它应该发送到我在配置中指定的目的地。例如,所有以下请求都应发送到“http://localhost/mysign/' 而不是普通的目的地:

http://www.gooogle.com/mysign
http://www.another.com/mysign
http://web.dev.us/mysigne/total?p=2

以下请求不应通过隧道传输:

http://mysign.not.com/test
http://wwww.ende.com/do/not/mysign

我该如何配置它?

更新:我不想向客户端发送重定向。客户端浏览器不应该注意到响应是由预期之外的另一个端点发送的。

答案1

我不确定这是否会起作用,但你可以尝试一下:

<ProxyMatch http://[^/]+/.*mysign>
    Allow from All
    Order Allow,Deny
    RewriteEngine on
    RewriteRule . http://localhost/mysign/ [P]
</ProxyMatch>

如果http://localhost/mysign/URL 由充当代理的同一服务器提供服务,那么您可以尝试用以下内容替换 RewriteRule 行:

    RewriteRule ^.*$ /mysign

答案2

查看ProxyPass*指令。你想要的可能是:

ProxyPass /mysign http://localhost/mysign/
ProxyPassReverse /mysign http://localhost/mysign/

相关内容