ProxyPass整个域到Tomcat,包括root

Bar*_*lom 8 rewrite tomcat reverse-proxy apache-2.2

我已将我的VirtualHost example.com配置为将所有请求代理到 Tomcat 服务器

ProxyPass / http://localhost:8088/app
ProxyPassReverse / http://localhost:8088/app
Run Code Online (Sandbox Code Playgroud)

这适用于example.com/page 之类的URL ,但对于example.comexample.com/我得到了这个重定向响应,这显然不会导致任何结果。

HTTP/1.1 302 Moved Temporarily
Date: Wed, 06 Jul 2011 21:13:37 GMT
Server: Apache-Coyote/1.1             <-- the redirect comes from tomcat
Location: http://example.com/app/     <-- nonsense
...
Run Code Online (Sandbox Code Playgroud)

我能做些什么来修复它?最好在 Apache 配置中。

我正在使用 Apache 2 和 Tomcat 7

Bar*_*lom 12

我不完全确定为什么,但这是解决方案

ProxyPass / http://localhost:8088/app/
ProxyPassReverse / http://localhost:8088/app/
Run Code Online (Sandbox Code Playgroud)

(最后加斜杠)

  • 斜线应始终匹配。来自 [mod_proxy 文档](http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypass):`如果第一个参数以尾随 / 结尾,则第二个参数也应以尾随结尾/ 反之亦然。否则对后端的结果请求可能会错过一些需要的斜线并且不会提供预期的结果。` (9认同)