2

我的配置很简单:2 Apache 服务器

  • 服务器 1:带有域的“IP1”(test.com)
  • 服务器 2:没有域的“IP2”

在我的服务器 1 的文件 httpd.conf 中,我想访问:

  • 安装在服务器 1 上的 tomcat 的 url 为:test.com
  • 到具有虚拟主机的服务器 2 的 apache,其 url 为:test.com/server2

httpd.conf / 服务器 1

RewriteRule ^/server2$ http://'IP2'/web/test.php/  [L]
ProxyPass / ajp://'IP1':PORT/ retry=5

它可以工作,但第二个 URL 不显示test.com/server2而是http://'IP2'/web/test.php/。如何解决这个问题?

4

1 回答 1

1

作为重写http://'IP2'规则目标的一部分,自动 302 重定向浏览器。但是由于它在不同的机器上,并且您不希望浏览器中的 URL 地址栏发生变化,因此您需要使用 mod_proxy 而不是 mod_rewrite。

RewriteRule将行更改为,ProxyPass以便它反向代理请求而不是重定向:

ProxyPassMatch ^/server2$ http://'IP2'/web/test.php/
于 2012-10-20T10:04:41.523 回答