有时候我们会遇到,使用新核心的 Edge(以下简称为 Edge)、谷歌 Chrome 等浏览器的用户,在访问一些 HTTPS 网站时有时会遇到类似“此网站无法提供安全连接”的问题,致使无法打开页面。那么这是什么原因导致的,我们又该如何解决它呢?

  首先尝试使用其他核心的浏览器或其他电脑来访问这些网站,如果能正常打开,那说明网站本身是没有问题的。而为何无法在本机中打开,可以参照下面介绍的方法依次进行排查。本文以Edge浏览器操作为例进行说明。

缓存文件所导致

  大家使用Edge浏览网页时,默认会在本机中保存缓存和Cookie等内容,它们可能会导致浏览器的SSL证书出现问题,从而发生“此网站无法提供安全连接”的错误。解决的方法是清除浏览器的缓存,步骤如下:

  在浏览器的地址栏中输入“edge://settings/privacy”并回车,接着在打开的“隐私、搜索和服务”设置頁面中点击“清除浏览数据”选项下的“选择要清除的内容”。然后在打开的窗口中将“时间范围”设置为“所有时间”,勾选“浏览历史记录”、“Cookie和其他站点数据”、“缓存的图像和文件”选项后点击“立即清除”。

  接下来再删除本机中的SSL缓存。在桌面的任务栏搜索框中输入“Internet属性”,打开设置窗口后切换到“内容”选项卡,点击“清除SSL状态”按钮。之后重启浏览器,如果是缓存所导致的问题,我们再重新打开这些网站,一般就没问题了。

此网站无法提供安全连接

根证书所导致

  如果清除缓存后问题依旧,那么就需要对本机中受信任的根证书列表(TrustedRootCA)进行检查了。Windows10默认要求每周更新一次受信任的根证书列表(通过系统的自动更新功能实现),但一些用户会关闭自动更新,这样会导致SSL连接出现问题。解决的方法是手动更新根证书列表。

  以管理员身份启动PowerShell,接着依次输入下列的命令来更新证书,并将其部署到受信任的根证书下(每输入一条命令均需回车确认,“#”后的内容为注释,无需输入,下同)。

  #下载最新证书文件
  certutil.exe -generateSSTFromWU roots.sst

  #部署下载的证书到受信任的根证书下
  $sstStore = ( Get-ChildItem -Path C:\[到你上一步生成的文件的路径]\roots.sst )
  $sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root

第三方插件所导致

  很多朋友喜欢安装一些第三方插件来拓展Edge的功能,但有些插件可能会导致HTTPS连接失败,这时我们可以通过禁用一些不必要的插件来确认是否是它们引起的问题。

  在浏览器的地址栏中输入“edge://extensions/”并回车,在打开的页面中关闭左侧窗格中的“开发人员模式”和“允许来自其他应用商店的扩展”选项。同时关闭右侧窗格中“来自其他源”选项处的插件,仅保留通过微软应用商店安装的插件。这样一般就能解决第三方插件所导致的问题了。

未启用TLS和SSL协议支持所导致

  在本机的网络设置中未开启相应的TLS和SSL协议支持也可能导致SSL连接出现问题。为了确保系统安全,现在很多浏览器默认禁用了旧版本的TLS和SSL协议(如SSL2.0、SSL3.0和TLS1.1),但如果访问的Https网站仍然使用这些旧版本协议,那么在访问它们时就会出现连接错误。解决的方法是在上图所示的窗口中切换到“高级”选项卡,然后按照下图所示勾选TLS和SSL协议即可。

此网站无法提供安全连接

安全软件设置所导致

  现在很多安全软件都提供检查网站的SSL/TLS证书的功能,如果其检测到某网站使用了不安全的(或自签名)证书或者过时的SSL协议版本,那么它可能就会阻止用户访问该网站。如果用户能确保自己所访问的网站是安全的,那在安全软件中关闭这些检查方面的设置即可,以“Avast!”操作为例。打开它的“设置”窗口后切换到“Main settings”,在右侧的窗格中去除“Enable HTTPS scanning”的勾选就可以了。