Fiddler error–HTTPS handshake failed
情景描述
当我在电脑上通过修改 host
文件, 试图将某个软件的请求代理到我自己搭建服务上时,服务一直收不到请求。于是打开Fiddler
观察发生了什么,
等再次访问时,得到了如下错误:
fiddler.network.https> HTTPS handshake to
(for #44) failed. System.Security.Authentication.AuthenticationException 调用 SSPI 失败,请参见内部异常。 < 要求的函数不受支持 Win32 (SChannel) Native Error Code: 0x80090302
原因分析
我们发现问题的根本原因是服务器需要 TLS 1.2 连接,而我们使用的是 TLS 1.0 连接。(试图代理的软件使用TLS1.0协议连接服务,我自己起的服务协议为TLS1.2)
解决方案
我们必须采取 2 个步骤来解决问题:
第 1 步 – 更新 Fiddler
我们首先必须更新 Fiddler
。因此,请访问https://www.telerik.com/download/fiddler并下载最新版本。
请注意,我们下载的是Fiddler Classic
而不是跨平台的Fiddler Everywhere
版本。
第 2 步 – 更新支持的 HTTPS 协议列表
打开Fiddler
并单击 Tools
--> Options…
。
转到 HTTPS
选项卡并单击 protocols
标签旁边的链接
将TLS1.2
添加到协议列表中:
单击 OK
两次以关闭两个弹出窗口。
再测访问测试即可。