添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

为您的网站设置安全套接字层(SSL)证书从来都不是简单的事。您可以免费生成证书,也可以由托管服务提供商给您安装证书,但是,如果您没有正确地配置您的证书,您可能会遇到诸如“SSL握手失败”等问题。

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

跟我们一起去看看吧!

什么叫SSL握手呢?

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

这个过程可以称为“ 握手 ”,下面是具体的工作原理:

当您访问安装有SSL证书的网站时,您的浏览器会发送一个数据请求:

服务器就会向浏览器发送一个加密的公钥。

您的浏览器检查该公钥后返回自己的加密密钥给服务器

服务器解密该密钥后将加密内容返回给您的浏览器

您的浏览器解密加密的内容,就完成了握手的过程

完成这一过程就几秒钟的时间。SSL证书和HTTPS协议能够让您的网站更安全地传输数据,而不会对性能产生负面影响。这使得SSL证书对任何网站都至关重要。但是,就像您网站的任何元素一样,它有时也会产生其他的问题

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

“SSL握手失败”会准确地告诉您问题是什么。当您的浏览器无法与具有SSL证书的网站建立连接时,它会显示:Error 525 Ray ID:594f9ac978edc924.2020-05-17 19:04:31 UTC SSL handshake failed

在使用CloudFlare的网站这个例子中,您可以看到“SSL握手失败”对应“525”这个代码。因此,失败的原因也可能是服务器端和客户端的问题导致的。

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

您本地设备设置的日期或时间有误

浏览器不支持最新的SSL协议

您的SSL证书是无效的

您的服务器名称标识(SNI)配置存在问题

您的内容分发网络(CDN)存在问题,例如Cloudflare

以上所列出的原因包括两个本地问题,两个与您网站的服务器相关,一个与第三方服务相关。在接下来的部分,将探讨如何解决上述的问题

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

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

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

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

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

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

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

如果在本地设备上修复日期和时间不起作用,您可以继续尝试另一个修复方法:

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

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

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

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

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

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

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

3.确保您的SSL证书有效

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

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

即便如此,通过检查您不确定证书的到期日期也无妨。您可以使用SSL服务器测试等工具来执行此操作:

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

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

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

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

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

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

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

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

幸运的是,Cloudflare提供了“暂停”功能,您可以随时使用它来禁用该服务。执行此操作后,建议您在尝试再次访问您的网站之前清楚浏览器的缓存。

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

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

您可能需要执行以下操作来修复“SSL握手失败”:

更新本地设备的日期和时间。

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

确保您的SSL证书有效

检查服务器的SNI配置。

暂停Cloudflare以测试您的SSL证书

原文来源:WordPress 由沃通WoTrus原创翻译整理,转载请注明来源

SSL握手失败”相对容易修复,只要您知道其潜在原因是什么。该错误可能是由于您的本地设备的设置、服务器配置或CDN存在问题等。您可能需要执行以下操作来修复“SSL握手失败”:更新本地设备的日期和时间。确保您的浏览器支持最新的TLS协议确保您的SSL证书有效检查服务器的SNI配置。暂停Cloudflare以测试您的SSL证书原文来源:WordPress 由沃通WoTrus原创翻译整理,转载请注明来源。
很多朋友在cPanel和WHM安装 SSL 证书之后会出现 SSL 错误无法建立安全连接,这是怎么一回事呢?为了让您安装 SSL 证书过程更轻松,我们在此为您在安装过程中可能遇到的最常见安装错误提供了最佳解决方案。 SSL 错误无法建立安全连接原因一:私钥与证书不匹配 似乎 cPanel 找不到为此 SSL 证书创建的私钥。私钥与 CSR Key 一起生成。您可能错误地删除了此密钥。如果您在同一台 服务器 上安装了多个 CSR 密钥和私钥,cPanel 将无法找到正确的私钥。 解决方案:可以手动查找随CSR Key一起
https ://segmentfault.com/a/1190000021559557 此文主要内容翻译至博客How to Fix the SSL /TLS Handshake Failed Error?,并做了一些添加,修改和删除. 当浏览器向web 服务器 (如Apache)发送一个安全的请求时, ssl /tls 握手 过程就开始了. ssl /tls错误时有发生,其中最常见的错误就是 SSL Handshake Failed error.下面我们就来讲解什么是 SSL /TLS 握手 失败 ,以及如何解决. SSL /TLS
像许多 SSL 错误消息一样, SSL 握手 错误可以从客户端和 服务器 端触发,因此有时可以由常规Internet用户 修复 ,而有时它表示网站方面的配置问题。 一、什么是 SSL /TLS 握手 ? 在每个 HTTPS 连接开始时,客户端(互联网用户的Web浏览器)和 服务器 (托管网站)都必须进行一系列检查-缺乏更好的期限-以便彼此进行身份验证并确定参数。加密的连接。这被称为TLS 握手 ,业内某些人将其称为 SSL 握手 。 二、 SSL /TLS 握手 失败 的原因及解决方法: 1)系统时间不正确 如果您的电脑系统时间错误,则可能导致TLS
启动 服务器 或者代理时出现监听TCP端口 失败 ,可能是该端口被占用,已经存在了;需要先杀死该端口所用的进程再进行运行; 查看端口所在进程:netstat -ano|findstr “:10808” 运行结果: TCP 0.0.0.0:10808 0.0.0.0:0 LISTENING 1104 杀掉所在进程: taskkill /pid 1104 /f 之后再进行访问就行
对于 https 的网络请求很多人都比较头疼,不止iOS包括pc端和移动端的很多请求都离不开 https CFNetwork SSL Handshake failed (-9806) error = Error Domain=NSURLErrorDomain Code=-1202 "The certificate for this server is invalid. You might be c...
上篇内容我们首先介绍什么是 SSL / TLS 握手 的概念和简单的流程概述,为的就是让有的童鞋们能够更好地理解。那么接下来呢我们将介绍 SSL / TLS 握手 失败 和错误( SSL 握手 错误)的所有可能原因以及谁可以 修复 它们。之后,我们将为每个部分提供专门的解析,其中也会介绍如何 修复 它们。 现在,让我们来解决这些 SSL 握手 失败 错误。 SSL /TLS 握手 失败 -客户端错误 当 握手 失败 时,通常是网站/ 服务器 及其 SSL / TLS配置的问题。这会导致令人讨厌的 SSL / TLS 握手 错误。 实际上,这只是TLS配置几乎完全不
注意这里显示了非常关键的一句话,xxx使用了不受支持的协议。从这句话入手,很快就查到了原因。原来是网站不支持 HTTPS 协 议,我将 HTTPS 改为HTTP访问,问题得到解决。
Linux下svn不能连接上Windows 服务器 SSL handshake failed: SSL 错误:在证书中检测到违规的密钥用法。 之前已经在Windows 2003上用visualSVN配置好了SVN 服务器 ,并且在Windows虚拟机的客户端可以正常使用。 但是,今天在Ubuntu 11.10上尝试运行svn,就装了一个subversion.但是使用时报了类似下面的错:
最近项目中要用到 https ,android这边使用的是 https urlconnection来进行访问的。其中遇到了一个非常诡异的问题,在此记录下来,以供参考: 注: https 的证书是后台自己生成的,没有申请合法的证书。 出错日志: 11-10 16:50:32.933: W/System.err(16031): javax.net. ssl . SSL HandshakeException: Ha
A: SSL 握手 协议是在TLS协议中实现的,用于在客户端和 服务器 之间建立安全的通信连接。其交互过程如下: 1. 客户端向 服务器 发送一个client hello,其中包含客户端支持的TLS版本号,为后续 SSL 连接做准备。 2. 服务器 收到client hello后,回应一个server hello,其中包含 服务器 选择的TLS版本号和加密算法等信息。 3. 服务器 将其证书(chain)一同发送给客户端。此证书的作用是用 服务器 的公钥(在证书中)来加密后续发往 服务器 的机密信息。客户端需要验证此证书的合法性(如证书颁发者是否受信任,证书是否过期等)。 4. 客户端收到 服务器 证书后,需要验证证书的合法性。如果证书不合法或者不被信任, 握手 将结束。否则证书中的 服务器 公钥将用于建立密钥协商。 5. 客户端会根据安全协议规定的加密算法,生成一些密钥参数,并将其用 服务器 公钥加密后,发送给 服务器 端。 6. 服务器 收到客户端发送的密文,使用自己的私钥进行解密,从而得到客户端发来的密钥参数。 7. 双方根据约定好的安全协议规范,对这些参数进行协商,生成同一个对称密钥,并使用该密钥进行加密通信。 8. 握手 完成后,双方开始正式的通信。