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

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

点击查看原图

问题描述

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连接,如下图所示。

1539070534007-3f8f6d57-6fbd-4cfe-b287-aed7d5613884.png

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

1539070658523-a9f3f94a-3672-4127-8899-8768a91c1816.png

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

解决方案

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

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

适用于

•云服务器ECS

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

本公司销售:阿里云、腾讯云、百度云、天翼云、金山大米云、金山企业云盘!可签订合同,开具发票。

我有话说: