修复 TSL 握手失败错误

最后更新: 04/10/2024
TLS 握手失败

如果您遇到一条错误消息“TLS 握手失败» 你不知道该怎么办,但你并不孤单。 TLS 握手失败是一个常见错误。虽然这可能是一次令人沮丧的体验,但有一些方法可以排除 TLS 握手故障并解决它。

在这篇文章中,您将了解什么是 TSL 握手失败错误以及发生该错误的原因。然后,您将了解如何解决 TLS 握手问题。

 我们开始吧!

了解 TLS/SSL

您必须确保您的网站安全,才能在两台服务器之间建立安全连接。为此,您必须在站点上安装安全套接字层 (SSL) 证书(SSL 安全和加密协议)。这将允许您的站点使用 HTTPS 来确保安全连接。

不幸的是,有时事情不会按计划进行,您可能会在站点服务器和访问者浏览器之间建立连接时遇到问题。该问题可能会出现“TLS 握手失败”错误或任何其他问题。

传输层安全 (TLS) 和安全套接字层 (SSL) 是提供加密和网站识别的安全协议。它们用于验证服务器、应用程序、浏览器等系统和用户之间的数据传输。

简而言之,您需要 TLS/SSL 证书来保护使用 HTTPS 的网站。

了解 TLS/SSL 握手

TLS 握手是两个服务器(您的站点主机和客户端服务器)之间的通信和协议的一种形式。这是建立清晰的 HTTPS 连接过程的第一步。

为了验证并建立连接,您站点的服务器和客户端的浏览器必须握手,即经过一系列检查(握手)。这将设置 HTTPS 连接参数。

这是什么意思?

客户端(通常是浏览器)通常发送请求以与站点服务器建立安全连接。然后,服务器将公钥(协议)发送到您的设备,并确保根据准备好的协议/证书列表验证该密钥。然后设备生成密钥并使用服务器的密钥对其进行加密。

如果此往返通信没有产生肯定的结果,即服务器和客户端之间的 SSL 握手失败,则 HTTPS 将不会生成安全连接,从而导致 TLS/SSL 握手错误。此错误可能以两种方式出现;

  • HTTP/1.1 503 服务不可用
  • 收到致命警报:handshake_failure(错误 525)
  Windows 3 资源管理器和其他必备软件的 11 个最佳替代品

注意:在 TLS 握手失败的 API 调用后,您将看到这些错误消息。

导致 TLS 握手失败错误的原因是什么?

 一般来说,错误 525 或错误 503 通常意味着 TLS 握手失败。失败的一些原因可能包括:

在服务器端,错误的原因包括:

  • 协议不匹配:服务器不支持客户端使用的协议。
  • 证书错误:客户端 URL 的主机名与服务器上存储的证书中的主机名不匹配,或者证书不完整或无效,或者证书不正确或已过期
  • 密码套件不匹配:服务器不支持客户端使用的密码套件。
  • SNI 启用服务器:当启用 SNI(服务器名称标识)后端时,但客户端服务器无法与 SNI 服务器通信。

在客户端,原因可能包括:

  • 如果连接被第三方拦截。
  • 当客户端设备的日期或时间不正确时。
  • 如果客户遇到浏览器设置错误。

如何修复 TLS 握手失败错误

“TLS 握手问题”有多种潜在原因。您可以使用以下解决方案来解决这些问题;

方法编号提示#1:更新系统日期和时间

错误的日期或时间配置是 TLS 握手问题的关键原因之一。由于系统时间有助于证明证书是否有效或已过期,因此设备与服务器上的时间或日期之间的差异可能会导致证书显示为已过期。

通过将其设置为自动来更正时间和日期,然后再次访问该站点并查看 TLS 握手问题是否已修复。

方法编号修复 #2:更正您的浏览器设置以匹配最新的 TLS 协议支持

您的浏览器是“中间人”,可以影响您的设备与服务器的通信方式。任何浏览器配置错误都可能导致 TLS 问题。

  如何在没有管理员权限的情况下安装程序。 Windows 10

要检查您的浏览器是否有问题,请尝试使用其他浏览器访问该网站,看看是否遇到相同的问题。如果所有站点都出现该问题,则为系统问题。

您的设备上可能有浏览器扩展或安全软件正在拦截 TLS 连接并导致有问题的 TLS 握手。在一些情况下,病毒或 恶意软件 在系统中。

要解决这个问题:

  • 您可能需要禁用设备上的安全软件或浏览器扩展
  • 重新启动浏览器。

方法 3:检查并更改 TLS 协议 [在 Windows 上]

与浏览器相关的问题也可能是由协议不匹配引起的。

例如,如果浏览器仅配置为特定的 TLS 值,例如 TLS 1.0 或 TLS 1.1,但服务器仅支持 TLS 1.2,那么两者之间的通信将缺乏相互兼容的协议。这不可避免地导致 TLS 握手失败。

要在浏览器中检查此问题(Google Chrome):

  • 打开浏览器 铬系列 
  • 然后,您必须进入选项“设置”>“高级”
  • 之后,您必须向下滚动以打开“系统”>“打开计算机的代理设置”

失败的

  • 在新的弹出窗口中,选择“高级”选项卡。
  • 在“高级”选项卡的“安全”部分中,查看“使用 TLS 1.2”旁边的框是否已选中 > 如果未选中,请选中它。

失败的

  • 检查 SSL 2.0 和 SSL 3.0 的框是否已选中 > 如果是,则取消选中它们。对 TLS 1.0 和 TLS 1.1 执行相同的操作。
  • 单击“确定”,然后检查此过程是否已解决握手错误。

注意:如果您正在使用 Mac 我o 苹果Safari,它们不提供禁用或启用 TLS/SSL 协议的选项,因为默认情况下会自动启用 TLS 1.2。

方法编号提示#4:检查您的服务器配置[以支持 SNI]

配置服务器名称指示 (SNI) 是 TLS 问题的关键原因之一。为了使服务器正常运行,SNI 允许您为一个 IP 地址安全地托管多个 TLS 证书/协议。

在服务器上,每个网站都有自己的证书。因此,如果服务器未启用 SNI,则 TLS 握手很可能会失败,因为服务器可能无法识别当前证书。

  10 个 DVD 翻录程序:免费和付费工具

要检查站点是否需要 SNI,您可以使用 Qualys SSL 服务器测试。您所要做的就是输入您网站的域名,然后单击“提交”并等待测试生成结果。

在结果页面上,找到显示“此网站仅在 SNI 兼容浏览器中运行”的消息。

失败的

方法编号提示 #5:检查并确保密码套件匹配

密码套件不匹配也是导致 TLS 握手问题,尤其是 TLS 握手失败的一个关键原因。密码套件只是一组算法,包括批量加密、密钥交换和消息身份验证代码,用于保护 TLS/SSL 网络连接。

如果服务器的密码套件与 Cloudflare 的密码套件不匹配或不兼容,则更有可能出现“TLD 握手失败”错误。

要测试您的密码套件配置,您将再次使用 Qualys TLS 服务器测试。再次输入您的域名,然后单击“提交”并等待报告。

在结果页面上,检查密码套件部分以查找密码信息。

检查您是否对“弱”等状态感兴趣。然后,您可以通过将它们与浏览器的支持进行比较来更正它们。

失败的

结论

我们认为这些提示很容易遵循,并且您能够解决遇到的 TLS 握手失败错误。 TLS 是一个非常大的主题,可能还有其他可用的解决方案。

如果您发现它有用,您可能会喜欢我们门户网站上为您提供的其余出版物。每天我们都会分享许多新的技巧, 技巧、故障排除、操作指南以及更多以帮助为中心的文章。简短、详尽、甜蜜且实用!