我们有一个应用程序,每天下载https://www.rba.gov.au/rss/rss-cb-exchange-rates.xml以获取汇率。几天前它停止工作了,我们发现上面的 URL 在 IE 中无法打开,而在 Chrome 中却可以。
我的理解是,使用.NET框架开发的应用程序肯定会使用与IE相同的东西,因此它也无法下载文件。
以下是我使用 IE 访问该站点时遇到的错误,我确定所有 TLS 版本都已启用:
以下是我尝试通过 powershell/.net 下载文件时遇到的错误:
然后我使用 ssllabs.com 测试了 url,得到了以下结果。它说如果客户端是 IE11/Win 8,就会出现致命错误(我相信 Windows 2012 和 Windows 8 属于同一个系列,所以服务器 2012 也会发生致命错误)。
但我在想一定有什么我可以做的,我可以改变一些设置来解决这个问题?我想避免仅仅为了这个问题将操作系统升级到服务器 2016。非常感谢您的帮助。
根据SSLLabs 报告,服务器支持的仅有的两个密码是
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
和TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
。根据Microsoft 提供的信息,Windows 8.1 和 2012 不支持这些密码。不幸的是没有。您正面临您使用的操作系统的固有限制以及损坏的服务器设置(可用密码太少,域具有 IPv6 地址,但 IPv6 上的 SSL 失败)。您可以安装其他浏览器(例如 Chrome 或 Firefox)来访问该站点,因为这些浏览器带有自己的支持这些密码的 TLS 堆栈。