我有一个apache tomcat服务器,它运行在一个服务器上,其中一个网络接口具有本地IP,如LOCALIP,但用户希望在公共IP上看到服务器,如PUBLICIP,他们不应该在本地IP上看到服务器。所有这些配置都在硬件防火墙上进行。
用户使用地址PUBLICIP / mainpage访问应用程序和应用程序,检查用户是否经过身份验证。如果用户未通过身份验证,则用户将重定向到PUBLICIP / login。 当用户重定向到/登录页面时,他将看到未找到页面(404),但如果他在浏览器中手动键入PUBLICIP /登录地址,则可以看到登录页面。
我们使用HttpServletResponse.sendRedirect将用户重定向到登录页面。
我认为这是一个重定向问题,因为出于安全考虑,防火墙会丢弃对PUBLICIP的任何ping请求。 servlet尝试重定向到公共IP地址。
答案 0 :(得分:0)
通常,在Connector上使用proxyPort和proxyName告诉Tomcat反向代理(例如防火墙/负载均衡器)正在使用的公共IP / DNS名称和端口,以确保链接Tomcat生成的(例如重定向)使用公共IP /名称和端口。