我们最近对许多 Exchange 虚拟目录的内部 URL 进行了更改。在此更改之后,我们看到最终用户从 Outlook 报告错误,指出证书已过期,因此无法验证。
更重要的是,出现在这些错误中的证书不再存在于服务器上。它是使用 Exchange 命令行管理程序中的 Remove-ExchangeCertificate Cmdlet 删除的。我还验证了它不再存在于 cert:\LocalMachine\My 的证书存储中,在任何 IIS 配置中也不可见。此外,浏览到 OWA 会返回正确的证书。我不明白服务器如何可能不再提供此证书。
这个证书还有其他地方可以隐藏吗?Outlook可能涉及某种缓存?任何见解将不胜感激。
我的第一个想法是这个证书来自其他地方。我过去曾看到它来自代理。然而,我要做的第一件事是自动发现测试。
按住 CTRL 的同时右键单击系统托盘中的 Outlook 图标。选择测试电子邮件自动配置。
取消选择第二个和第三个选项并运行测试。
查看它尝试过的 URL 的日志。确保它们解析为服务器的内部 IP 地址。然后检查结果并确认其他 URL 也在那里解析。
如果他们错了,那就纠正他们。http://semb.ee/hostnames2007
西蒙。
我似乎通过从 IIS 配置中删除旧的、已停止的网站解决了这个问题。
为了详细说明,我将稍微扩展一下配置:
第二个名为“OWA”的站点未使用并已停止,但它绑定到 192.168.100.201(这比“默认网站”站点的 SSL 绑定更具体)。它配置了使用该
Get-ExchangeCertificate
命令时不可见的旧证书。当用户通过 192.168.100.201 访问 Web 资源时,IIS 不知何故仍在提供在停止的“OWA”网站中配置的旧证书,而不是在“默认网站”网站中配置的证书。从 IIS 配置中删除“OWA”网站似乎已经解决了这个问题。我仍然有一些担忧,因为我读过的所有内容都表明 IIS 不可能提供证书存储中不存在的证书。情况似乎并非如此,需要进一步研究。此外,我计划围绕 IIS 中的这种(错误)配置进行一些测试。在我看来,停止的网站不应该对另一个网站提供的证书产生任何影响。