早上好人
你能帮我解决下面的问题吗?
我有一个DNS负载均衡机制和别名(hostAlias),可能指向host01或host02
我想configurationapache和shibboleth来处理这个别名。 会发生什么…
用户types: https://hostAlias
(指向host01)apache host01:redirect到shibboleth shibboleth host01:redirect到**https://hostAlias.cern.ch/Shibboleth.sso/ADFS**
现在有两种情况。 这次hostAlias会再次指向host01,否则它将指向host02。 如果指向host02,则host01不会获得安全性,authentication失败。
另外,关于SSL证书,我猜每个主机都需要自己的证书。 对 ? 我需要使用DNS别名的证书吗?
提前致谢 !
一个小警告首先,我知道什么shibboleth是/但没有实现这个设置,所以虽然可以定义,我可以想到一些可能会绊倒它的陷阱。 我build议把问题提交给shibboleth用户列表,因为这是用户在哪里=)
只要你可以把authenticationstream量绑定到host01或host02,你所要做的就应该是“正常工作”,毕竟这是SSO。 如果你想把用户指向主域名作为“目标”,那么他们有可能被碰到另一个主机,并被授权给本地服务提供商。 这应该是有效的,这个过程可能会有点狡猾,用户体验明智,如果他们马上翻转,经历漫长的等待多个redirect,或他们在IDP过程中手动步骤POST回到您的网站(即没有JavaSript或没有跟踪会话的IDP)。 所以我认为你正在改变中间的authentication。
User GET requests hostalias.com/protected User redir to idp.com/sso?shire=host01.hostalias.com/sso&target=hostalias.com/protected <IDP auth> User POST to host01.hostalias.com/sso host01.hostalias.com/sso redir to hostalias.com/protected
如果shibboleth规范关心使用id / shire / target的不同域名,可能会遇到困难。 我对此表示怀疑。
“干净的”解决scheme是一个会话pipe理器,可以在主机之间共享会话状态。 如果您在java应用程序中执行身份validation,则可以使用共享数据库,或者在本地查找失败的情况下使用远程查找等。如果您计划使用X主机进行水平扩展,则可能需要此选项。 SP守护进程有一些共享状态的选项 ,这看起来依赖于apache是否使用会话的SP。
另一个select,如果你卡住是改变你的DNS故障转移设置。 如果将任何新的经过身份validation的会话映射到主机名(host01 host02 host0n)
则可以保留该主机上的用户。 对该主机进行身份validation。 然后,只有当故障转移到一个新的主机,当它closures(或超载..)这个设置可以提出一些负载平衡问题,如果一个主机的链接开始使用更多,可能需要一点pipe理。 我只会尝试这个,如果有上述两个问题。
SSL Certs基于访问的主机名。 如果您有多个主机名,您可能需要多个证书。 如果您有多个子域名主机名,则可能会获得通配符证书。 对于上面的设置,我会build议通配符为publicname,host01和host02 .HostAlias.com。 上述第一种和第三种方法需要wilcard /多个证书来覆盖访问不同子域的客户。