【发布时间】:2014-04-21 06:53:59
【问题描述】:
我们有一个 Web 应用程序架构,其中我们的应用程序 EAR 部署在配置有非 ssl Http 端口侦听器的 appServer 中。每个请求都通过 F5 Load Balancer-> Web Server-> App Server 进行路由。
在负载均衡器中,我们设置了一个 iRule,其中每个 Http 请求都转发到端口 443 上设置的 Https,并且我们的应用程序运行良好。现在我们正在尝试使用 OpenSSO 联合解决方案和 SAML 技术来实现 SSO。我们已经在我们的应用服务器中部署了带有非 ssl http 侦听器配置的 opensso。
现在,当我们尝试使用 url xhttp://domain_name/opensso(虚拟协议)访问 opensso 时,它会根据负载均衡器上设置的 iRule 重定向为 xhttps://domain_name/opensso。但是在出现的 opensso 配置页面中,服务器 URL 仅填充为 xhttp://domain_name 而不是 xhttps://domain_name。同样,遵循相同的方法来填充整个 opensso 配置中的所有 URL 属性。因此,当我尝试使用 ssoadm GUI 生成元数据时,在表单操作属性中,url 形成为“http”,请求方法仅按照 Opensso 约定作为“POST”传递。但是,当根据负载均衡器规则将其重定向到“https”时,请求方法将作为“GET”而不是 post 传递,并且 opensso 验证失败并抛出错误,因为“需要 HTTP Post 协议”。
所以这里的问题是,默认情况下,opensso URL 属性应该填充“https”而不是“http”。我想知道这里做了什么错误的配置。我们如何解决这个问题?谢谢。
【问题讨论】: