Firefox“正在进行TLS握手”解决方法详解

0
6851

当你加载Firefox网页时,你可以在页面的左下角看到一条条加载链接,如下所示:

在这里会出现大量的信息——大多数闪现得如此快,以至于你可能永远都不知道它们写的是什么。每条链接会告诉你,为了为你抓取和呈现页面,Firefox正在干什么。

你可能曾经遇到过Firefox卡在一个特定步骤的情况:“正在执行TLS握手。”


TLS握手是浏览器为创建HTTPS连接而执行的过程。这应当只需要一眨眼的功夫——但在某些情况下,这可能持续好几秒。

如果你经常遇到这一过程卡上5秒,那么很有可能出现了问题。

创建一个新的配置文件

首先要做的是创建一个新的Firefox配置文件。当你使用Firefox时,所有你的个性化设置都会连接到一个特定的配置文件。你的配置文件数据可能包括错误配置的选项或错误的数据,导致不常见且难以追踪的漏洞。

从这里开始很容易,如果问题与Firefox的设置有关或源自其他地方,将有助于隔离。
首先,打开一个新的选项卡,将about:profiles粘贴到地址栏,然后点击Enter键。这将打开配置文件管理器。

点击“创建一个新的配置文件”并按向导的指示操作。点击“设为默认配置文件”,然后关闭并重新启动Firefox。


尝试访问几个在“正在执行TLS握手”时卡住的网站。如果他们现在能正常加载,你就知道问题出自Firefox配置文件(而不是网站本身或网不好)。

你可以试着对原始配置文件进行故障检修(记住要使用配置文件管理器切换回来),然而隔离问题将变得困难(检查你是否配置了代理连接,并试着禁用附加组件),并且可能是由于配置文件中的数据损坏,不能轻易修复。

相反,你可能想要将重要的数据传输到你创建的新的配置文件中。

还有一种可能与自签名证书有关。如果你是一名开发人员,或者正在使用间隔/私有网站,请使用以下这个解决方案:

具有相同主题/颁发者信息的自签名证书

如果这一问题影响使用自签名证书的网站,那么你可能遇到了Firefox解析SSL证书的方式的问题。

请注意,如果Google.com、Facebook.com或Amazon.com等日常网站都出现了这一问题,那么这并不是问题的症结所在。这将主要影响间隔/私有网站和服务的开发人员和用户。

如果你在具有自签名证书的网站上遇到缓慢的握手,且在这一过程中,证书已经被具有相同主题/颁发者信息(在不同证书的“颁发者”和“主题”字段中,所有信息都是相同的)的新证书替换了多次,那么由于可能的路径构建组合数量,Firefox最终就会卡住。

因为每次重新启动“localdomain.test”会生成一个新证书的服务,由你进行多次访问并接受自签名证书。这样进行了很多次之后,Firefox就会在其本地数据库中存储所有这些证书,并检查所有这些证书,以查看是否存在有效的路径。

遵循上面的步骤创建一个新的配置文件将能暂时解决这一问题。为了确认这就是问题的所在,则切换回受影响的配置文件(使用上面的步骤),然后打开操作系统的文件资源管理器中的“配置文件”文件夹。

一个简单的方法是浏览到about:support,然后点击打开配置文件文件夹的文件夹按钮。在文件资源管理器中找到cert8.db,并重命名这个文件(如cert8.db.bak),因此Firefox便可以替换它。重启浏览器并试着再次访问受影响的网站。如果页面能够正常加载,便可以确认问题与本地证书数据库存储了太多具有相同名字的自签名证书有关。

值得注意的是,在存储了7到8个具有相同名字的自签名证书之后,Firefox就会开始变得缓慢。在存储了10个之后,它的加载速度就会大幅降低,并且可能挂起“执行TLS握手”30秒以上。如果积累这一数量的相同的证书需要花费一段时间,那么你可以每隔几个月才重复这个过程。否则,你将想要更改你的服务生产新证书的方式,因此它们便不会具有相同的信息。

请耐心等候

如果你是突然才遇到这一问题,那么可能与临时的网络问题有关。如果所有HTTPS连接突然变得很缓慢,则可能是ISP遇到了连接性问题。如果问题仅限于某几个网站,那么问题可能与撤销检查有关。撤销检查是TLS握手的一部分,要求与第三方服务器进行连接。

如果问题在一天内自行解决了,这很可能就是问题的所在。

问题仍旧没有得到解决?

由于“正在执行TLS握手”这则消息十分模棱两可,从配置错误的VPN到操作系统都可能是加载变慢的原因。对照以上三种方法看一下吧。

LEAVE A REPLY

Please enter your comment!
Please enter your name here