如何使用 F5 负载均衡器为 SSL 配置 JBoss

如何使用 F5 负载均衡器为 SSL 配置 JBoss

我在配置 JBoss 的安全环境时遇到了麻烦。

这是我们的环境:

我们有一个 F5 负载均衡器,它具有我们域的通配符证书。

我在一个名为peanut的服务器上的JBoss上运行了几个应用程序。

在防火墙内,我可以运行该应用程序http://peanut.mydomain.com:8080

从防火墙的另一端,只能通过子域下的 HTTPS 访问服务器https://pule.mydomain.com:8080

负载均衡器有证书。因此任何请求https://pule.mydomain.com安全地到达负载均衡器。在负载均衡器和peanut之间,请求是http。

现在,此应用使用 AJAX 调用和 Web 服务。从 Loadbalancer 外部,我调用https://pule.mydomain.com:8080-但是由于Loadbalancer和peanut之间的通信是http,网页返回的引用http://pule.mydomain.com:8080

http://pule.mydomain.com无法在任何地方访问,并且 AJAX 调用失败。

我的问题是,如何配置 JBoss 以始终使用 https,但不需要它自己的证书?

这是我所拥有的,但它不起作用。我认为我不需要重定向到端口 8443,因为防火墙和 jboss 服务器之间没有安全连接。

<Connector port="8080" address="${jboss.bind.address}"    
     maxThreads="250" maxHttpHeaderSize="8192"
     emptySessionPath="true" protocol="HTTP/1.1"
     enableLookups="false"  acceptCount="100"
     connectionTimeout="20000" disableUploadTimeout="true" scheme="https" />

答案1

尝试添加secure=true到您的连接器。假设您的应用程序依赖于“request.isSecure()”的结果来确定在构建这些引用时是否使用 https,这将解决问题。

答案2

您需要配置 F5 设备来执行URL 重写,可能还需要补充ProxyPass iRule(需要注册)在该文章底部提到。

相关内容