Apache 代理 URL 排除不起作用

Apache 代理 URL 排除不起作用

我们在 CentOS 上运行 Apache/2.4.6。我试图在 Apache 上设置一个代理端点,它将请求传递给内部服务器(目标服务器)。到目前为止,除了某些 URL 应该被排除的部分之外,端点都做了它应该做的事情。我有以下配置:

proxypass /#/b/c/excluded/url/ !
proxypass / http://myhost/
proxypassreverse / http://myhost/

我认为,具有以下 URL 的请求不应该被传递:

  • http://myhost/#/b/c/excluded/url/ -> 403 禁止访问

而其他所有内容都应该传递。(包括 /#/b/c/ 但不包括 /#/b/c/excluded/url)

  • http://myhost/#/b/c -> 200
  • http://myhost/#/b -> 200
  • http://myhost/something/completely/different
  • ETC。

但显然当我尝试访问排除的 URL 时,目标服务器会进行重定向,这意味着他收到了完整的请求。

我该如何在代理上阻止对特定 URL 的请求?提供的方法似乎不起作用,或者我在没有注意到的情况下做错了什么。URL 中的“#”可能是问题所在吗?

BR,罗尔斯基

相关内容