0

我有一个 apache tomcat 服务器,它运行在具有一个网络接口的服务器上,该网络接口具有本地 IP,如 LOCALIP,但用户希望在公共 IP 上看到服务器,如 PUBLICIP,他们不应该在本地 IP 上看到服务器。所有这些配置都是在硬件防火墙上进行的。

用户使用地址 PUBLICIP/mainpage 访问应用程序,应用程序检查用户是否通过身份验证。如果用户未通过身份验证,则用户重定向到 PUBLICIP/login。当用户重定向到 /login 页面时,他将看到页面未找到 (404),但如果他在浏览器中手动键入 PUBLICIP/登录地址,他可以看到登录页面。

我们使用 HttpServletResponse.sendRedirect 将用户重定向到登录页面。

我认为这是一个重定向问题,因为出于安全考虑,对 PUBLICIP 的任何 ping 请求都将被防火墙丢弃。servlet 尝试重定向到公共 IP 地址。

4

1 回答 1

0

通常,在连接器上使用 proxyPort 和 proxyName来告诉 Tomcat 反向代理(例如防火墙/负载平衡器)正在使用的公共 IP/DNS 名称和端口,以确保由生成的链接(例如重定向) Tomcat 使用公共 IP/名称和端口。

于 2012-05-16T18:30:38.217 回答