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