我有一个 apache tomcat 服务器,它运行在具有一个网络接口的服务器上,该网络接口具有本地 IP,如 LOCALIP,但用户希望在公共 IP 上看到服务器,如 PUBLICIP,他们不应该在本地 IP 上看到服务器。所有这些配置都是在硬件防火墙上进行的。
用户使用地址 PUBLICIP/mainpage 访问应用程序,应用程序检查用户是否通过身份验证。如果用户未通过身份验证,则用户重定向到 PUBLICIP/login。当用户重定向到 /login 页面时,他将看到页面未找到 (404),但如果他在浏览器中手动键入 PUBLICIP/登录地址,他可以看到登录页面。
我们使用 HttpServletResponse.sendRedirect 将用户重定向到登录页面。
我认为这是一个重定向问题,因为出于安全考虑,对 PUBLICIP 的任何 ping 请求都将被防火墙丢弃。servlet 尝试重定向到公共 IP 地址。