在我描述的设置中,我们有两台服务器,Alpha 和 Bravo。
Alpha 是一款已经存在多年的服务器。它是一台运行 IIS7 的 Windows 2008 服务器。为了登录 Alpha 上的任何应用程序,用户需要向服务器出示智能卡证书。
我们的开发团队希望拥有一个可以进行实验的“测试”服务器,因此我们的网络支持团队设置了一个新的服务器 Bravo。Bravo 的功能与 Alpha 相同,但开发团队可以广泛地修改和部署 Web 应用程序以进行测试。
接下来,我们开发小组有两名成员:Alice 和 Bob。新服务器 Bravo 一经设置,Alice 便开始使用它。她使用智能卡轻松访问 Bravo 上的 Web 应用程序。据她所知,Bravo 是 Alpha 的克隆版,但名称和 IP 地址不同。
Alice 在 Bravo 上设置了一个 Web 应用程序,并邀请 Bob 试用。Bob 以前从未使用过 Bravo,但他确信它的工作方式与 Alpha 一样。然而,当 Bob 尝试访问任何在 Bravo 上查看 web 应用程序时,他看到以下错误消息:
HTTP Error 403.7 - Forbidden
The page you are attempting to access requires your browser to have a Secure Sockets Layer (SSL) client certificate that the Web server recognizes.
Alice 和 Bob 非常沮丧,因为他们的工作站需要配置完全相同,而 Alpha 和 Bravo 都使用完全相同的证书。
网络支持团队检查 Alice 和 Bob 在 IE8 中的设置是否相同(因为我们的组织必须支持该设置)。网络支持团队还尝试使用 Alice 的智能卡在 Bob 的工作站上登录 Bravo。这不起作用,因此排除了 Bob 的智能卡是问题根源的可能性。
为什么 Alice 和 Bob 都可以用他们的智能卡登录 Alpha,而只有 Alice 和 Bob 可以用她的智能卡登录 Bravo?
重复一遍,Alpha 和 Bravo 都应该使用完全相同的证书。