Apache ProxyPass/ProxyPassReverse 正在转发请求,而不是充当代理

Apache ProxyPass/ProxyPassReverse 正在转发请求,而不是充当代理

不确定这是否是发布此内容的正确 Stack Exchange。如果有更好的地方,请重定向我 - 谢谢。

我在 httpd.conf 中启用了以下行:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so

然后我添加了以下几行:

ProxyRequests Off

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass /goo http://google.ca
ProxyPassReverse /goo http://google.ca

如果我打开浏览器并访问以下 URL:

http://localhost/goo

我明白了重定向到:

http://www.google.ca

我期望 mod_proxy 能够充当代理,而不仅仅是重定向到 google。我期望我的浏览器不知道 google.ca 的存在,而只知道代理服务器的存在。

  1. 这里发生了什么?
  2. 这难道不是 mod_proxy 的设计目的吗?
  3. 我还应该用别的东西来代替吗?

答案1

您是否使用任何其他目标测试过代理?重定向很可能发生在交易的 Google 端。您是否也可以尝试重定向域的根目录(即 /)并查看它是否有任何效果?

FWIW,具有与您完全相同的 ProxyPass 配置(尽管没有 Google),并且我的请求被转发而没有任何问题。

也就是说,如果您可以编辑您的帖子以包含完整的 VirtualHost 和 Apache 配置,这可能会有助于澄清一些事情。

相关内容