我在configurationJBoss的安全环境方面遇到麻烦。
这是我们的环境:
我们有一个F5负载均衡器,它具有我们域名的通配符证书。
我有几个应用程序运行在一个名为花生的服务器上的JBoss。
从我们的防火墙内,我可以运行应用程序为http://peanut.mydomain.com:8080
从防火墙的另一端,只能通过https://pule.mydomain.com:8080下的HTTPS访问服务器
Loadbalancer有证书。 因此, https: //pule.mydomain.com的任何请求都可以安全地到达Loadbalancer。 在负载均衡器和花生之间,请求是http。
现在这个应用程序使用AJAX调用和Web服务。 从Loadbalancer外部,我调用https://pule.mydomain.com:8080 – 但由于Loadbalancer和花生之间的通信是http,网页返回了引用http://pule.mydomain.com:8080 。
http://pule.mydomain.com无法在任何地方访问,并且AJAX调用失败。
我的问题是,如何configurationJBoss使用HTTPS,但不需要它自己的证书?
这就是我所拥有的,而且不起作用。 我不认为我需要redirect到端口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" />
尝试将secure=true添加到连接器。 假设您的应用程序依赖于“request.isSecure()”的结果来确定在构build这些引用时是否使用https,这将解决问题。
您需要configuration您的F5设备进行URL重写 ,并且可能还需要添加该文章底部提到的ProxyPass iRule (需要注册)。