SSL 证书错误及修复方法

如果网站的 SSL 证书已过期或不正确,这可能会劝阻 Web 用户加载该网站。

学习目标

阅读本文后,您将能够:

  • 了解 SSL 或 TLS 的定义与作用
  • 列举常见的 SSL 错误
  • 了解如何修复这些错误

复制文章链接

SSL 证书错误及修复方法

安全套接字层 (SSL) 是一种安全协议,用于加密和身份验证互联网上客户端与服务器之间传输的数据。该协议的更新版本称为 Transport Layer Security (TLS)

SSL/TLS 需要使用 SSL 证书,它是托管在 Web 服务器上的数据文件,有助于加密流量并验证服务器的身份。服务器与客户端(用户试图访问服务器上托管的网站时所使用的设备)使用 SSL 证书建立对称加密密钥并开始安全加密传输,所有这些在几毫秒内即可完成。对客户端与服务器之间传递的数据进行加密,有助于防范数据泄露,让网站能够保留用户信任并满足合规要求。

什么是 SSL 错误?

SSL/TLS 证书问题可能会导致用户无法安全加载并访问网站和应用程序。以下是用户和网站管理员可能会遇到的一些常见 SSL 证书错误(或 TLS 错误)。

SSL 证书不受信任

大多数 SSL 证书都是由外部组织(称为证书颁发机构)颁发和签名。自签名证书通常不受浏览器信任,因为此类证书没有获得外部机构的验证。证书颁发机构也可能因其他原因而不被浏览器识别:例如,主流浏览器都不再信任由 Symantec 颁发的 SSL 证书。此 SSL 证书错误可能会导致浏览器中出现“您所用连接不是专用连接”的错误消息,从而可能会阻止用户访问该网站。

从受到更广泛支持的证书颁发机构获取 SSL 证书,可以修复此错误。(例如,Cloudflare 提供的免费 SSL 证书,深受所有浏览器的信任。)

TLS 版本错误

多年来,互联网社区已经多次更新 SSL/TLS 协议,以修复漏洞并加快身份验证流程,名称从 SSL 更改为 TLS 正好体现了这一点。

许多 Web 服务已开始强制使用最新协议。最新且最广泛使用的 TLS 版本是 TLS 1.3,与此同时 TLS 1.2 也仍在使用。

对于配置为仅接受最安全协议的 Web 主机和网站,客户端必须至少支持 TLS 1.2,否则 TLS 握手无法按计划进行。(在这种情况下,可能会出现“创建 TLS 客户端凭证时发生致命错误”的错误消息。)用户应确保所用设备上的浏览器和操作系统支持最新、最安全的 TLS 版本,以免出现此 SSL 证书错误。

SSL 证书已过期

就像政府颁发的一些身份证明文件(护照等)会在一定年限后过期一样,SSL 证书也必须定期更新。这有助于确保同一实体仍在运营相关 Web 服务,就像更新某人的护照照片有助于确认其身份一样。客户端的 Web 浏览器不信任已过期的 SSL 证书,因此,无法继续进行 TLS 握手,也无法建立安全连接。

Web 管理员需要确保其和子域的 SSL 证书均为最新版本,才能修复此 SSL 证书问题。

如果客户端的时钟不正确,也会出现此错误:在这种情况下,客户端的浏览器可能无法判断 SSL 证书是否已过期。在这种情况下,重置客户端设备上的时钟即可修复错误。

SSL 公用名不匹配错误

当 SSL 证书上的名称与客户端输入的 URL 不匹配时,就会出现名称不匹配错误。如果用户输入了与预期不同的顶级域,在证书上未列出域名称时却输入了“www”,或者以其他方式错误拼写了域,则可能会出现这种情况。如果网站运营商错误标记了其证书,或者未包含其域名中所有面向公众的名称,也可能会出现名称不匹配的情况。最后,当客户端或服务器不支持 SNI 扩展时,也可能会出现公用名不匹配错误(下文将详细介绍)。

为避免出现此错误,网站管理员应确保在其 SSL 证书上正确拼写域。此外,SSL 证书的使用者可选名称 (SAN) 部分应列出域名的所有合法替代域名。

主机服务器不使用 SNI

服务器名称指示 (SNI) 是 TLS 协议的扩展,用于在一台服务器上托管多个域的情况。当客户端开始连接时,它直接连接到服务器(由 IP 地址指示)。该服务器可能托管多个网站,就像多位居民居住的同一栋公寓一样。

继续类比,SNI 是一种扩展,它会在地址中添加公寓编号,以便服务器知道将 SSL 连接请求定向到哪一个网站(或者“公寓”)。但是,如果对服务器的请求不使用 SNI,则服务器可能会向发起连接的客户端显示错误的 SSL 证书,从而导致公用名不匹配错误。

为避免出现此错误,网站管理员应该使用支持最新 TLS 协议的 Web 主机,包括 SNI(以及加密的 SNI)。

Cloudflare 如何消除 SSL 证书错误?

Cloudflare 通过自动管理和更新所有客户网站的证书,帮助网站运营商避免出现上述这些错误。当组织需要管理数十个、数百个或数百万个子域时,确保证书不过期可能是一名全职员工的职责。但 Cloudflare 会自动完成此流程。

了解计划页面上关于 Cloudflare SSL 证书的选项。