当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Exchange 混合 TLS 协商失败并出现错误 NoCredentials

作者:精品下载站 日期:2024-12-14 07:04:17 浏览:16 分类:玩电脑

Exchange 混合 TLS 协商失败并出现错误 NoCredentials


最近,我在 Exchange 2016 和 Exchange 2019 环境中运行混合配置向导。此环境中还有两台边缘传输服务器。一台 Exchange 2016 CU12 边缘传输服务器用于 Internet 通信,一台 Exchange 2019 CU1 边缘传输服务器(在 Windows 2019 Server Core 上运行)用于混合通信。在混合配置向导中选择了该服务器,选择了正确的证书等,并且混合配置向导成功完成。

向导完成后,边缘传输服务器上的接收连接器已针对混合邮件流进行了修改。验证从 Exchange Online 到 Exchange 本地的发送连接器没有发现任何问题,测试邮件已成功发送并在我的邮箱中接收。

但从本地 Exchange 到 Exchange Online 的邮件流无法正常工作,并且邮件滞留在边缘传输服务器上的队列中。查看队列,似乎存在超时问题,因为它显示:

LastError : [{LED=451 4.4.395 目标主机响应错误。 -> 421 4.4.1 连接超时};{MSG=};{FQDN=exchangelabsnl-mail-onmicrosoft-com.mail.protection.outlook.com}; {IP=104.47.10.36};{LRT=5/2/2019 6:32:14 AM}]

[玩转系统] Exchange 混合 TLS 协商失败并出现错误 NoCredentials

这不是防火墙问题,我可以使用 Telnet 连接端口 25 并向自己发送一条消息(该消息到达垃圾邮件文件夹,但它到达了)。

打开发送连接器协议日志文件(首先在出站连接器上启用)会显示不同的错误。尝试执行 TLS 握手时失败,并显示 TLS 协商失败并出现错误 NoCredentials。

[玩转系统] Exchange 混合 TLS 协商失败并出现错误 NoCredentials

这很奇怪,因为接收连接器使用相同的证书(您可以使用 https://checktls.com 并输入持有接收连接器的 Exchange 服务器的 FQDN 进行检查)。

“TLS 协商失败,错误 NoCredentials” 看起来像是证书的私钥问题(根据 Microsoft 知识库文章 KB4495258),但 PowerShell 显示它确实有私钥:

[玩转系统] Exchange 混合 TLS 协商失败并出现错误 NoCredentials

返回协议日志文件时,您可以在数据字段中看到证书指纹,并且该指纹与 Get-ExchangeCertificate 返回的证书指纹不匹配。

[玩转系统] Exchange 混合 TLS 协商失败并出现错误 NoCredentials

但是,Get-ExchangeCertificate 仅返回具有私钥的证书,如果没有私钥,则不会返回任何内容。

使用 PowerShell 打开证书存储时,使用以下命令:

光盘证书:
Cd 本地机器
设置位置我的
获取子项目

显示存储中的所有证书,当使用我们从协议日志中获得的指纹检查证书时,该证书没有私钥:

[玩转系统] Exchange 混合 TLS 协商失败并出现错误 NoCredentials

这解释了 NoCredentials 错误消息。使用以下命令删除错误的证书:

获取子项 | ?{$_.指纹类似“B79*”} |除去项目

重新启动传输服务后,跨界邮件流将再次运行。

主要问题当然是这是如何发生的。我不确定,但我确实记得同时(几周前)请求了多个证书,并且出现了一些错误。我没有太注意这一点,因为一切似乎都运行良好。但最终事实并非如此,我一开始并没有注意到,因为入站 SMTP 工作正常。叹…。 ?

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯