在 Windows Server 上连接 Discourse API 时出现“无法创建 SSL/TLS 安全通道”错误

大家好,

最近我们更新到了 2.4.0.beta4 (1576b07a10),更新后,我们的一个外部应用程序无法再通过 Discourse API 进行身份验证。

该应用程序报错如下:

请求已中止:无法创建 SSL/TLS 安全通道。

该应用程序使用的是 TLS1.2,请问这是否不再被支持?

关于最近的变更,大家是否有任何想法可以帮助我节省几个小时的调试时间?

TLS 1.2 和 1.3 版本已启用,您可以通过 SSL Server Test (Powered by Qualys SSL Labs) 自行测试。

谢谢 @Falco,确认问题仍然存在:

好的,我将开始调试。一定是我们的 Discourse 系统发生了其他变化,导致外部应用程序崩溃,因为这个问题在开发和生产环境中都出现了。

我会尽力找出原因 :+1:t2:

原来我们遇到了一个与这里描述的非常相似的问题:

我们连接到 Discourse API 的外部遗留应用程序运行在一台旧的 Windows 2008 R2 服务器上。

出于某种原因,在本周早些时候安装了最近的 Discourse 更新后,Windows 服务器和 Discourse 服务器无法就加密套件达成一致。我不确定是在更新过程中某些加密套件被更改,还是这个问题恰好与 LetsEncrypt 证书在同一时间续期有关 :man_shrugging:

无论如何,我没有修改 Discourse,而是成功地在 Windows 服务器上添加了几款双方都支持的加密套件,这同样得益于 @Falco 在上面分享的 SSL Labs 链接 :slight_smile:

哇,这太老了!距离停止支持只剩四个月了。我想是时候更换它了😅

这是否与你更改的 @gerhard 有关?

我想这可能是由于升级到 Debian 时加密套件变更所导致的。我原本以为添加椭圆曲线证书后,它应该能在所有旧版 Windows 系统上运行,而不仅仅局限于 IE11。如果我没记错的话,IE11 使用的是 Windows 加密库……:person_shrugging: