我在我的 linux 服务器上运行 tomcat,我想为此使用反向代理。在阅读了 apacha 中 mod_proxy 的手册后,我并没有真正理解 proxypass 中的 /path 。
我举一个小例子。我的 tomcat 的目录是 /tomcat/webapp。那么下面的配置正确吗?:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ProxyRequests Off
ProxyPass /tomcat/webapp http://127.0.0.1:8080
ProxyPassReverse /tomcat/webapp http://127.0.0.1:8080
</VirtualHost>
我会很感激,我有经验的人可以帮助我。
从理论上讲,无论您选择哪个
ProxyPass
指令,它都会起作用,即使您选择代理http://example.com:8080/webapp/
为http://example.com/foo/bar/baz/
.但是,如果您的应用程序在超链接中使用绝对路径,最好在Apache和Tomcat上使用相同的 URI 路径,否则您将遇到类似问题的问题。所以:
无论哪种方式,您都应该使用:
PS:由于显然您想在两个端口上运行 Tomcat,最好告诉 webapp 它正在被代理并且该端口
8443
是通过 SSL 访问的:所以 webapp 不会产生从 port
8443
到 port的无用重定向443
。