Turn on TLS 1.0, TLS 1.1, TLS 1.2 ... Asp.NET IIS 10.0

时间:2018-02-26 17:59:51

标签: c# asp.net asp.net-mvc ssl tls1.2

For months, my web application worked just fine on different versions of IE/Firefox/Chrome. My application is running on IIS 10.0. When I hit the application from a Windows 7 box (IE 11.0.***) everything works fine. When I hit the application from Windows 10 box (IE 11.2007.14393.0), it just started giving me this error (was working last week):

This page can’t be displayed Turn on TLS 1.0, TLS 1.1, and TLS 1.2 in Advanced settings and try connecting to https:// again. If this error persists, it is possible that this site uses an unsupported protocol or cipher suite such as RC4 (link for the details), which is not considered secure. Please contact your site administrator.

I have looked this up from many sites and have tried multiple things. Ensured TLS settings, setup Registry on Server to allow TLS, etc. As far as I can tell, there were no updates when this occurred. This is an Asp.NET MVC application targteging DNX Core 1 - rc1. I did not push any updates to the server when it stopped working.

On a Windows 7 box, I show in Firefox that it is using TLS 1.2 for this site (and works fine!)

What could be going on here? I'm out of options to try.

3 个答案:

答案 0 :(得分:2)

一年半以后的早晨。
我只是想分享我对这个问题的经验(和解决方案)。我确信发生这种情况的原因很多,但是我一直注意到的一件事是: 进入iis管理器并选择引起问题的网站(在我的情况下为“默认网站”) 在“编辑站点”下右侧的“操作”窗格中,单击“绑定...”。 选择https绑定,然后单击右侧的“编辑...” 切换“ SSL证书”选择,然后单击“确定”。 如果看到如下错误: '执行此操作时出错。 细节: 指定的登录会话不存在。它可能已经被终止。 (来自HRESULT的异常:0x80070520) 似乎已发生的原因是证书由于某种原因已损坏。
我唯一能够解决此问题的方法是使用mmc.exe和证书加载项(控制台根\证书(本地计算机)\个人\证书\)从服务器中删除证书,然后重新将其添加到同一位置。 TLS错误在网页上消失了。

答案 1 :(得分:0)

我在一个单独的问题上挣扎了一年多,试图从我的计算机上的某些代码访问网络服务。具体的网络服务是这里的 FEMA 网络地图服务:

https://hazards.fema.gov/gis/nfhl/services/public/NFHLWMS/MapServer/WMSServer?request=GetCapabilities&service=WMS

我尝试选中 Internet 选项中的所有 TLS 复选框,并尝试设置一些注册表项和一些 Microsoft 和其他网站上推荐的其他内容,但我仍然无法访问该服务。最后,我遇到了按照此处的建议重置 Internet Explorer 设置的建议:

https://theohbrothers.com/fix-internet-explorer-11-error-this-page-cant-be-displayed-turn-on-tls-1-0-tls-1-1-and-tls-1-2-in-advanced-settings/

这解决了我的问题,我能够访问该网站。

如果您遇到此问题,可以尝试以下具体步骤:

  1. 在 Internet Explorer 中,转至工具 > Internet 选项 > 高级,在重置 Internet Explorer 设置下,单击重置。或者,您只需在 Windows 开始搜索菜单中输入 Internet 选项即可到达此处。在“重置 Internet Explorer 设置”窗口中,选中“删除个人设置”框,然后单击“重置”。

  2. 完成后,重新启动 IE11 并尝试访问被阻止的网站。现在应该可以正常工作了。

实际上,经过进一步调查并如this web page顶部所述,上述解决方案并没有解决我的问题。我认为对我来说唯一的解决方案可能是从 Windows 7 升级到 Windows 10。

答案 2 :(得分:0)

检查绑定到网站的证书的“密钥用法”属性。 它需要是密钥加密,数据加密。 “增强型密钥使用”属性需要是服务器认证。

Website Certificate