如何修复“SSL 握手失败”错误

设置一个 安全套接字层 (SSL) 证书 您的网站从未如此简单。 你可以 免费生成证书,许多托管服务提供商甚至会为您设置它们。 但是,如果您没有正确配置您的证书,您可能会遇到诸如“SSL 握手失败”之类的错误。

当您的浏览器和服务器无法建立安全连接时,会出现“SSL 握手失败”错误。 本文将解释什么是 SSL 握手,以及如果您未能建立握手,该怎么办。

让我们开始吧!

什么是 SSL 握手?

你可能知道, SSL 证书 验证您网站的“身份”。 它使用您的浏览器检查以确保证书有效的加密密钥来执行此操作。 建立连接后,您的浏览器可以解密服务器发送的内容。

这个过程称为“握手”。 以下是它更详细的工作原理:

  1. 您访问具有 SSL 证书的网站,并且您的浏览器发送数据请求。
  2. 服务器向浏览器发送一个加密的公钥。
  3. 您的浏览器检查该密钥并将其加密密钥发送回服务器。
  4. 服务器解密密钥并将加密内容发送回您的浏览器。
  5. 您的浏览器解密内容(从而完成握手)。

所有这一切都在几秒钟内发生。 SSL 证书和 HTTPS 协议使您的网站能够安全地传输数据,而不会对性能产生负面影响。 这使得 SSL 证书对任何网站都至关重要。 但是,就像您网站的任何元素一样,它有时会产生独特的问题。

导致“SSL 握手失败”错误的原因

“SSL 握手失败”错误准确地告诉您问题是什么。 当您的浏览器无法与具有 SSL 证书的网站建立连接时,它会显示:

how-to-fix-the-ssl-handshake-failed-error 如何修复“SSL 握手失败”错误

在这个来自网站的例子中,使用 云耀斑,可以看到“SSL握手失败”错误对应的是“525”代码。 因此,错误可能源于服务器端和客户端的问题。

“SSL 握手失败”错误的最常见原因包括:

  1. 您本地设备的日期或时间有误
  2. 浏览器不支持最新的 SSL 协议
  3. 您的 SSL 证书无效
  4. 你的有问题 服务器名称标识 (SNI) 配置
  5. 有问题 您的内容交付网络 (CDN),例如 Cloudflare

该列表包括两个本地问题,两个与您网站的服务器相关,一个特定于第三方服务。 在接下来的部分中,我们将探讨如何解决每个问题。

如何修复“SSL 握手失败”错误(5 种方法)

在这里,我们将首先向您展示如何修复可能导致“SSL 握手失败”错误的客户端问题。 这些解决方案非常简单。 但是,如果它们不起作用,我们将继续提供您可以尝试的更多技术解决方案。

1. 更新您本地设备的日期和时间

当您的浏览器尝试建立 SSL 握手时,它会根据您计算机的日期和时间验证证书。 它这样做是为了验证 SSL 证书是否仍然有效。

如果您本地设备的日期和时间关闭,则可能会导致验证过程中出现错误(即没有握手)。 幸运的是,这是一个简单修复的问题。

在 Windows 设备上,打开“开始”菜单并输入日期和时间设置。 选择出现的选项,会弹出一个新窗口。 启用设置自动设置时间,并确保您的时区正确:

how-to-fix-the-ssl-handshake-failed-error-1 如何修复“SSL 握手失败”错误

验证您的日期现在是否正确,然后尝试重新加载网站。

以下是在其他操作系统 (OS) 上修复日期和时间的方法:

如果在本地设备上修复日期和时间不起作用,您可以继续进行下一个修复。

2. 确保您的浏览器支持最新的 TLS 协议

在某些情况下,由于浏览器问题,您可能会遇到“SSL 握手失败”错误。 最常见的问题是您的浏览器不支持 传输层安全 (TLS) 您的证书使用的协议。

简单来说,SSL 和 TLS 都是认证协议,你的证书可以使用其中之一。 现代浏览器支持这两种协议,但它们的旧版本可能不支持。

确定您的浏览器是否导致问题的最简单方法是使用另一个浏览器。 如果在其他浏览器中没有出现“SSL 握手失败”错误,则可能是原始浏览器的问题。

要在 Windows 中解决此问题,请打开“开始”菜单并键入 Internet 选项。 选择出现的选项并转到高级选项卡。 向下滚动设置列表,直到找到与 SSL 和 TLS 设置对应的选项:

how-to-fix-the-ssl-handshake-failed-error-2 如何修复“SSL 握手失败”错误

理想情况下,您应该取消选中 SSL 3 和 2 的复选框(如果您看到这些选项)。 您只需选中 TLS 1、1.1 和 1.2 的复选框。

然后保存对 Internet 选项的更改并尝试重新访问该网站。 请注意,如果您使用的是 macOS 或 iOS,则默认情况下应启用 TLS 1.2。

3. 确保您的 SSL 证书有效

SSL 证书有到期日期。 这是一个内置功能,可强制您在某个时候更新证书,并验证您的域所有权。

如果您的 SSL 证书过期,您的浏览器将无法建立握手。 根据您的 SSL 证书提供商是谁,您很可能会在它到期之前收到通知,以便您可以续订。

即便如此,检查您是否不确定证书的到期日期也无妨。 您可以使用工具,例如 SSL 服务器测试 这样做:

how-to-fix-the-ssl-handshake-failed-error-3 如何修复“SSL 握手失败”错误

该服务将返回有关您网站的 SSL 证书的大量信息。 如果证书已过期,您将看到其有效期何时结束:

how-to-fix-the-ssl-handshake-failed-error-4 如何修复“SSL 握手失败”错误

在这种情况下,您需要在您的网站上重新颁发并安装 SSL 证书。 根据您的托管服务提供商是谁,他们可能能够帮助完成该过程。

4. 检查您服务器的服务器名称标识 (SNI) 配置

如果您使用共享服务器来托管您的网站,您可能会遇到多个 SSL 证书的问题。 托管服务提供商使用正确的 服务器名称标识 (SNI) 配置以确保当访问者尝试访问您的网站时,他们获得正确的 SSL 证书(而不是来自其他媒体资源的证书)。

一般来说,大多数信誉良好的托管服务提供商不会对 SNI 配置提出任何问题。 此外,如果您不使用共享服务器,则可以继续进行下一个修复。

如果您想 100% 确定您的托管服务提供商没有出现任何 SNI 配置问题,您可以联系其支持寻求帮助。 在共享服务器上,您将无法直接访问此配置。 如果事实证明这是问题所在,您可能需要考虑升级到 更强大的托管计划.

5. 暂停 Cloudflare 以测试您的 SSL 证书

如果您使用 Cloudflare,“SSL 握手失败”错误可能是由于其与您网站的连接出现问题。 测试此功能的最简单方法是暂时禁用它。

幸运的是,Cloudflare 提供“暂停”功能 您可以随时禁用该服务。 执行此操作后,我们建议您先清除浏览器的缓存,然后再尝试再次访问您的网站。

如果 SSL 握手错误消失,您需要联系 Cloudflare 以查看可能是什么问题。 在您等待响应时,请禁用 CDN,以便其他用户也可以访问您的网站。 另一方面,如果 SSL 错误仍然存​​在,这意味着它可能是由于您的服务器配置错误(见上文)。

结论

“SSL 握手失败”错误相对容易修复,只要您知道其潜在原因是什么。 该错误可能是由于您的本地设备设置、服务器配置或 你的 CDN.

以下是修复“SSL 握手失败”错误可能需要执行的操作:

  1. 更新本地设备的日期和时间。
  2. 确保您的浏览器支持最新的 TLS 协议。
  3. 确保 您的 SSL 证书 已验证。
  4. 检查服务器的 SNI 配置。
  5. 暂停 云耀斑 测试您的 SSL 证书。

您对如何修复“SSL 握手失败”错误有任何疑问吗? 让我们在下面的评论部分中讨论它们!

精选图片来自 vladwel/shutterstock.com

来源

原创文章,作者:WPJIAN,如若转载,请注明出处:https://wpjian.com/tips/2021070446930.html