如何修复“SSL 握手失败”:综合指南

已发表: 2023-04-05

当屏幕上显示错误信息“ SSL Handshake Failed ”,通常也显示为“ Cloudflare 525 ”时,大多数用户可能并不熟悉。 但是,名称本身提供了有关问题可能是什么的线索。

在现实生活中,我们经常会在与某人敲定协议时握手。 同样的概念也适用于 SSL 证书——SSL 握手是发生在用户设备和 Web 服务器之间以建立安全连接的过程。

在您的 WordPress 站点上安装 SSL 证书可确保它使用 HTTPS 建立安全连接。 但是,由于多种原因,在网站服务器和您的浏览器之间建立此连接时可能会出错。

但是没有什么可担心的! 好消息是您可以尝试多种解决方案来修复它。

在本文中,我将指导您逐步解决“SSL 握手失败”错误,并让您安全可靠地浏览网页。 让我们开始吧!

目录
SSL 握手是什么意思?
导致 SSL handshake Failed 消息的原因是什么?
如何修复 SSL 握手失败或 Cloudflare 525 错误?
概括
经常问的问题

阅读:什么是 SSL? 以及你需要知道的一切


SSL 握手是什么意思?

SSL handshake Failed Error message
SSL 握手失败错误消息

SSL 握手是您尝试使用 HTTPS 访问网站时发生的过程。 它遵循在您网站的服务器和浏览器之间建立安全连接的安全协议。

在此过程中,浏览器和服务器交换一系列消息,以商定一组加密规则并生成唯一的会话密钥。

生成会话密钥后,它将用于加密将在浏览器和服务器之间传输的所有数据。

握手过程至关重要,因为它可以对数据进行加密,防止黑客从网站拦截和窃取您的敏感信息。


阅读:保护敏感信息的重要性


您可能还会注意到,SSL 握手失败错误消息因客户端应用程序或您尝试通信的服务器而异。

例如,如果您使用的是 Cloudflare,则 SSL handshake Failed 错误可能会像这样出现。

Error 525 or SSL handshake Failed error
错误 525 或 SSL 握手失败错误

导致 SSL handshake Failed 消息的原因是什么?

现在您已经了解了什么是 SSL 握手,您可能会遇到一条错误消息,指出“SSL 握手失败”。 此消息表示您的浏览器和服务器无法建立安全连接以相互通信。

SSL 握手失败可能有多种原因,无论是发生在客户端还是服务器端。 但是,下面列出了一些最常见的原因:

客户端原因:

系统时间不正确:如果设备上的日期、时间或时区不正确,可能会导致 SSL 证书无效,从而导致握手失败。

防火墙或代理干扰:防火墙和代理可能会阻止 SSL 连接或干扰 SSL 握手,从而导致失败。

浏览器问题:过时的浏览器可能会导致 SSL 握手失败。

网络连接问题:网络连接问题,例如弱或不稳定的 Internet 连接,可能会导致 SSL 握手失败。

服务器端原因:

无效的 SSL 证书:如果 SSL 证书已过期、自签名或不是由受信任的证书颁发机构颁发的,则 SSL 握手可能会失败。

不兼容的 SSL/TLS 版本:如果客户端和服务器无法就通用的 SSL/TLS 版本达成一致,握手可能会失败。

服务器配置问题:如果服务器的SSL配置不正确,可能会导致握手失败。 这可能包括密码套件、协议或证书链的问题。


如何修复 SSL 握手失败或 Cloudflare 525 错误?

正如我们之前提到的,可能有很多原因会导致 SSL 握手失败错误。 因此,确定您应该如何继续修复 SSL 握手失败错误将是一项挑战。

但是,这并不意味着您不能采取任何行动。 有几种方法可以尝试确定 SSL 握手失败错误的潜在主要原因并逐步修复它们。

以下是您可以尝试修复 SSL 握手失败错误的最佳方法。

  • 检查系统日期和时间并更新它们
  • 尝试其他浏览器
  • 检查您的 SSL 证书的真实性和有效性
  • 使用最新的 SSL 协议检查您的浏览器
  • 检查服务器和浏览器是否支持密码套件。
  • 检查服务器是否正确配置为支持 SNI。

1.检查系统日期和时间并更新它们

这是最简单的方法之一,没有人会想到会导致 SSL 握手失败错误。 如果您的 PC 的日期和时间未与实时同步或配置不正确,则可能导致 SSL Handshake Failed 错误。

如果您的 PC 或系统的日期和时间与当前或实时不同,不正确的系统时间和日期可能会中断 SSL 握手。 这是因为SSL证书是有有效期的,超过有效期会导致证书失效。

2. 尝试其他浏览器

也有可能是您用来访问该网站的浏览器存在一些问题。 这可能是由于您的浏览器设置、错误的插件安装或任何其他因素造成的。 因此,要检查您的浏览器是否导致问题,请尝试切换到备用浏览器。

假设您正在使用 Google Chrome 访问网站并遇到 SSL 握手失败错误。 但是,同一网站在其他浏览器(例如 Firefox 或 Brave)中运行良好。

在这种情况下,您可以尝试将谷歌浏览器或您使用的任何浏览器重置为默认设置,并删除所有已安装的插件或扩展程序。

之后,尝试连接到您的网站,并逐一启用插件或扩展,以检查您是否可以连接到该网站。 这样,您就可以找出浏览器的确切问题并进行修复。

3. 检查您的 SSL 证书的真实性和有效性

SSL 证书具有有限的有效期或到期日期,以确保验证信息保持真实和准确。 任何有效性信息或超过有效期的问题,浏览器都会检测到不会与服务器进行握手。

通常,网站的 SSL 证书有效期为 6 到 12 个月。 如果您在网站上安装 SSL 证书后已经过了有效期,那么是时候更新或购买新的 SSL 许可证了。

检查网站 SSL 证书有效性的最简单方法之一是使用Qaulys 的在线工具SSL Checker

2 How to Fix the “SSL Handshake Failed”: A Comprehensive Guide
SSL 服务器测试
运行测试

该工具值得信赖、可靠且完全免费使用。 您唯一需要做的就是将您网站的 URL 输入“主机名”部分,然后单击“提交”按钮。

该工具检查您网站的 SSL 证书,对其进行分析,并向您显示结果。

4. 使用最新的 SSL 协议检查您的浏览器

正如我们已经提到的,SSL 握手失败可能由于多种原因而发生。 解决此问题的唯一有效方法是消除可能的原因。 此错误的最常见原因之一是浏览器配置错误。

我们还建议您尝试使用备用浏览器连接到该网站并禁用插件,但这不一定总能解决问题。 可能存在因协议不匹配而触发 SSL 握手失败错误的浏览器相关问题。

要理解这一点,请考虑一个示例:如果您使用的浏览器仅支持 TLS 1.1,但您的服务器支持最新版本的 TLS 1.2 和 1.3,则无法建立连接,结果将是 SSL 握手失败错误。

在这种情况下,您需要将浏览器更新到最新的可用版本。 新更新通常会启用最新发布的 TLS。 但是,如果它已更新,您需要注意某些事项。 您必须确保您的浏览器已正确配置以支持最新的 TLS 版本。

要验证这一点,您可以借助同一个 SSL 检查工具“ Qualys ”。

第 1 步:通过 Qualys 访问 ssllabs.com。

第 2 步:转到项目选项卡。

image 2 How to Fix the “SSL Handshake Failed”: A Comprehensive Guide
SSL实验室

第 3 步:单击SSL 客户端测试链接。

第 4 步:在“协议支持”部分,将出现一条消息,告诉您您的浏览器是否支持最新版本的 TLS。

5. 检查服务器和浏览器是否支持密码套件。

出现 SSL 握手失败错误的另一个常见原因是客户端和服务器未遵循相同的密码套件或存在密码套件不匹配问题。

什么是密码套件?

密码套件是用于保护网络连接的一组密码算法。 它们包括在 SSL/TLS 握手期间协商的加密、消息身份验证和密钥交换方法,以在客户端和服务器之间建立安全连接

您可以使用 Qualys 提供的相同 SSL 检查器工具比较客户端和服务器的密码套件。 为此,您需要做的就是,

第 1 步:转到SSLLabs.com并单击“项目选项卡”

第 2 步:单击SSL 客户端测试

第 3 步:您将在“密码套装”部分下获得完整列表。

第 4 步:现在,您需要做的下一件事是打开一个新选项卡 > 打开 SSLLabs.com > 单击项目选项卡

第 5 步:现在单击SSL 服务器测试链接。

第 6 步:键入您尝试访问的网站域名并显示 SSL 握手失败错误。 接着点击提交按钮。

第 7 步:向下滚动以查看服务器支持的密码套件的完整列表。

Cipher Suites section in a Qualys SSL report
Qualys SSL 报告中的密码套件部分

现在您必须检查并验证您的浏览器和服务器是否支持相同的密码套件。

6.检查服务器是否正确配置为支持SNI。

由于配置错误的 SNI(服务器名称指示),也可能触发 SSL 握手失败错误。

SNI(服务器名称指示)是一种 TLS 协议扩展,它允许从单个 IP 地址通过 HTTPS 为多个域提供服务。 它通过在 TLS 握手期间识别所请求网站的主机名来工作,从而允许服务器提供适当的 SSL/TLS 证书。

服务器上托管的每个网站都有自己的 SSL 证书。 但是,如果服务器上未启用 SNI,则可能会导致 SSL 握手失败错误。 这是因为服务器无法确定正确的证书。

您可以通过以下两种方式查看服务器是否开启了SNI:

  • 使用 Qualys 的SSL 检查工具
  • 使用OpenSSL 工具包

在 Qualys 的 SSL 检查工具的帮助下检查服务器是否正在使用 SNI

就像您在上述部分中遵循的步骤一样,即打开Ssllabs.com > 输入您的域 > 单击提交按钮。

Summary result section of Qualys SSL checker tool
Qualys SSL 检查器工具的摘要结果部分

在结果页面上,您会发现提供了一个等级以及底部的消息“此站点仅适用于支持 SNI 的浏览器”。

在 OpenSSL 工具包的帮助下检查服务器是否正在使用 SNI

1. 打开命令提示符或终端窗口。

2. 键入以下命令: openssl s_client -connect servername:443 -servername 域名

注意:将“servername”替换为您要测试的服务器的名称,将“domainname”替换为您要测试的域的名称。

3. 按回车键运行命令。

如果启用了 SNI,您应该会看到指定域的 SSL/TLS 证书详细信息。 如果未启用 SNI,您可能会在服务器上看到默认域的证书详细信息。

如果命令无法连接,可能是由于防火墙或其他网络问题,或者服务器可能不支持 SNI。 在这种情况下,您应该联系服务器管理员寻求帮助。


概括

SSL 握手是确保网站连接安全和保护敏感信息的重要过程。 失败的 SSL 握手会导致连接问题,并使您的网站容易受到攻击。

通过了解 SSL 握手错误的原因和症状并实施适当的解决方案,您可以确保为您的用户提供安全可靠的网站连接。

此外,定期维护和更新 SSL 证书对于维护网站安全和避免 SSL 握手错误至关重要。 保持警惕和主动维护 SSL 安全以保护您的网站及其用户非常重要。


经常问的问题

导致 SSL 握手错误的原因是什么?

SSL握手错误的原因有:
1、系统时间不正确
2.防火墙或代理干扰
3. 浏览器问题
4.网络连接问题
5.无效的SSL证书
6. 不兼容的 SSL/TLS 版本
7.服务器配置问题

什么是 SSL 握手失败?

SSL 握手失败是浏览器无法与网站建立安全连接时发生的错误。 这可能是由于 SSL 证书过期、系统时间和日期不正确或服务器配置问题等原因造成的。

SSL 握手的完整形式是什么?

SSL 握手的完整形式是“安全套接字层握手”。 这是一项最新技术,有助于确保在 Web 服务器和浏览器之间传输的任何数据都经过加密,从而使未经授权的方更难拦截或窃取敏感信息。