执行curl命令提示“failed:error in the pull faction”错误的解决方法

作者阿里云代理 文章分类 分类:新闻快递 阅读次数 已被围观 1091

点击查看原图

云服务器低至0.95折起  http://buy.zhiy.com.cn

问题描述

Linux系统的ECS实例访问第三方软件的API接口异常,执行cul https://api.xxxxx.com命令,提示如下错误。

failed:error in the pull faction

问题原因

由于TLSv1协议的安全问题,很多HTTPS站点禁用了TLSv1协议,所以使用TLSv1协议访问API接口会出现异常。

解决方案

排查步骤

1.从报错信息中分析,推测应该是应用层产生的报错,网络层的报错信息一般为timeout居多。

2.使用telnet命令登录到服务器,测试服务器的443端口状态正常,执行curl命令获取其他站点的网页,显示也是报同样的错误,初步推测为应用层产生的问题。

3.但是很难推测具体是应用层的什么问题,使用Wireshark抓包工具,通过抓取正常机器的报文和异常机器的的报文进行分析问题原因。

4.抓取到正常机器的报文,客户端与服务端建立SSL连接的Hello报文是通过TLSv1.2协议建立,服务端能返回Hello报文,从而进一步的建立HTTPS连接,如下图所示。

6.jpg

5.抓取到异常机器的报文,客户端与服务端建立SSL连接Hello报文是通过TLSv1协议建立,服务端直接RST了返回不到Hello报文,如下图所示。

 8.jpg

6.由于TLSv1协议的安全问题,很多HTTPS站点禁用了TLSv1协议,所以使用TLSv1协议访问API接口会出现异常。

解决方案

1.在系统内升级NSS服务。

2.重启系统后访问恢复正常。

适用于

•云服务器ECS

如果您有其他问题,可以联系北京志远天辰阿里云代理商,为您提供一对一专业全面的技术服务,同时新/老阿里云会员,均可享受我公司代理商价格迎咨询

本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>

我有话说: