我有一个运行在Tomcat内的Web应用程序,地址是 http://<server>:8080/app/portal/
。
我想让全世界都能够通过URL http://<server>/portal/
来查看这个应用程序。
为了做到这一点,我使用了 Apache 2.2 中的反向代理。根据 ProxyPass 文档 的说明,我期望反向代理可以透明地传递所有请求。我的浏览器不应该知道 Tomcat 的 URL。
这是我的配置:
没有虚拟主机,我将以下几行添加到了 httpd.conf 文件中:
<Location /portal/>
AllowOverride All
RewriteEngine On
ProxyPass http://server:8080/app/portal/
ProxyPassReverse http://server:8080/app/portal/
</Location>
当我使用Firefox打开http://<server>/portal/
时,我收到一个302临时移动的响应,并且所有后续的调用都直接从我的浏览器发送到http://<server>:8080/app/portal/
。 我的浏览器指向这个URL。这不是我对反向代理的期望。 我是配置错误还是误解了反向代理的目的?我该如何才能获得我想要的行为?
RewriteEngine On
是用来做什么的? - s.webbandit