apache、shibboleth、负载平衡别名、ssl

apache、shibboleth、负载平衡别名、ssl

大家早上好

您能帮我解决一下以下问题吗?

我有一个 DNS 负载平衡机制和一个别名 (hostAlias),它可能指向 host01 或 host02

我想配置 apache 和 shibboleth 以使用该别名。会发生什么情况...

用户类型:(https://hostAlias 它指向 host01) apache host01:重定向到 shibboleth shibboleth host01:重定向到**https://hostAlias.cern.ch/Shibboleth.sso/ADFS**

现在有两种情况。要么这次 hostAlias 再次指向 host01 ,要么指向 host02 。如果它指向 host02 ,则 host01 将得不到答案,并且身份验证失败。

另外,关于 SSL 证书,我猜每个主机都需要自己的证书。对吗?我需要具有 DNS 别名的证书吗?

提前致谢 !

答案1

首先要说明一点,我知道 shibboleth 是什么/做什么,但还没有实现这个设置,所以虽然可以定义,但我可以想到一些可能会出错的陷阱。我建议把这个问题提交给口令用户列表,因为那是用户所在的地方=)

只要您可以将身份验证流程绑定到 host01 或 host02,您所尝试的方法就应该“有效”,毕竟这是 SSO。如果您确实想将用户重新指向主域作为“目标”,那么他们可能会被转移到另一台主机并重新获得本地服务提供商的授权。这应该有效,但如果他们立即被翻转并经过长时间等待多次重定向,或者他们在 IDP 过程中有一个手动步骤来 POST 回您的网站(即没有 JavaSript 或 IDP 不能很好地跟踪会话),那么从用户体验的角度来看,该过程可能会有点不可靠。所以我认为您在身份验证中途遇到了变化。

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 使用不同的域,则可能会出现问题。但我对此表示怀疑。

“干净”的解决方案是能够在主机之间共享会话状态的会话管理器。如果您在 Java 应用程序中进行身份验证,则可以使用共享数据库,或者在本地查找失败时使用远程查找等。如果您计划使用 X 主机进行水平扩展,则可能需要这样做。SP 守护程序具有一些选择对于共享状态,这似乎取决于 apache 是否会利用 SP 进行会话。

如果您遇到问题,另一个选择是更改 DNS 故障转移设置。如果您将任何新的经过身份验证的会话映射到主机名,(host01 host02 host0n)那么您可以将用户保留在该主机上。对该主机进行身份验证。然后,只有当主机关闭(或超载)时才故障转移到新主机。如果指向一台主机的链接开始被更多地使用,并且可能需要一点管理,则此设置可能会出现一些负载平衡问题。我只会在执行上述两个操作时出现问题时才尝试此方法。

SSL 证书基于所访问的主机名。如果您有多个主机名,并且希望为客户端提供安全保护,则可能需要多个证书。如果您有多个子域主机名,则可能能够获得通配符证书。对于上述设置,我建议对 publicname、host01 和 host02 .HostAlias.com 使用通配符。上述第一种和第三种方法需要通配符/多个证书来覆盖访问不同子域的客户端。

相关内容