如何从位于负载均衡器后面的 tomcat 服务器检索端口号
How to retrieve port number from a tomcat server sitting behind a load-balancer
情况:
- 我的客户有一个 Java Web 应用程序部署在 JBoss 服务器上,它可以通过 HTTPS 和 HTTP
- JBoss 服务器位于处理 SSL 的负载平衡器后面,换句话说,这个负载平衡器终止 SSL 并将请求发送到JBoss 普通 HTTP
我需要解决的问题:
部署在 JBoss 上的 Web 应用程序需要知道负载均衡器为 HTTPS 使用的端口,以便它可以将用户正确定向到某些 HTTPS url .这不能硬编码,因为应用程序将部署在多个客户端上,每个客户端都有不同的负载平衡器配置。
我的方法(没用):
我通过 ${pageContext.request.serverPort}
从 jspx 页面定义端口,但这总是 returns HTTP 的端口,因为 JBoss 总是通过 HTTP 获取请求。
提前致谢。我查看了 this 个问题,但没有帮助。
如果 tomcat 位于负载平衡器后面,则没有真正确定端口的方法。正如评论中所建议的那样,将端口配置公开给您的客户是目前最好的选择。
情况:
- 我的客户有一个 Java Web 应用程序部署在 JBoss 服务器上,它可以通过 HTTPS 和 HTTP
- JBoss 服务器位于处理 SSL 的负载平衡器后面,换句话说,这个负载平衡器终止 SSL 并将请求发送到JBoss 普通 HTTP
我需要解决的问题:
部署在 JBoss 上的 Web 应用程序需要知道负载均衡器为 HTTPS 使用的端口,以便它可以将用户正确定向到某些 HTTPS url .这不能硬编码,因为应用程序将部署在多个客户端上,每个客户端都有不同的负载平衡器配置。
我的方法(没用):
我通过 ${pageContext.request.serverPort}
从 jspx 页面定义端口,但这总是 returns HTTP 的端口,因为 JBoss 总是通过 HTTP 获取请求。
提前致谢。我查看了 this 个问题,但没有帮助。
如果 tomcat 位于负载平衡器后面,则没有真正确定端口的方法。正如评论中所建议的那样,将端口配置公开给您的客户是目前最好的选择。