外贸网站paypal支付错误 cURL error 35 解决办法



            2018年2月26日,SINE安全维护的客户网站,在客户使用网站里的paypal支付过

程中发生错误,错误代码如下:

 


 
cURL error 35 Peer reports incompatible or unsupported protocol version.
 
An error occurred, please try again or try an alternate form of payment.
 
客户网站是做外贸站的,根据上面的提示,我们对其进行安全检查,代码的检测,以及服务器检

测,发现问题有点奇怪,随即进行逐一排查,首先怀疑的是客户的支付接口有问题,检查了PHP

代码。没有发现问题,于是怀疑是SSL证书问题,但是打开网站都可以正常打开https,网址还显

示的是绿色图标,说明SSL正常。Sine安全公司是一家专注于:网站安全、服务器安全、网站安

全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。
 
 
那么问题就有点严重了,难道是paypal的接口对服务器的环境有所更新?查阅了paypal的接口相

关的信息,发现需要的环境是PHP+openssl TLS1.2 协议的环境才可以正常支付。如下图所示:

 
 
我们对客户的服务器进行了环境升级,把openssl TLS1.0 升级到了TLS1.2,并重启了PHP环境,

让客户测试支付功能,发现还是报错误cURL error 35,很无奈,因为支付问题,导致客户的订

单都不能正常支付,造成的损失很大,我们立即成立服务器代维小组,加班进行处理解决。通过

报错的信息,查阅了相关的资料。终于发现了问题所在,根本原因是curl的版本太低,需要升级。

Sine安全公司是一家专注于:网站安全、服务器安全、网站安全检测、网站漏洞修复,渗透测试,

安全服务于一体的网络安全服务提供商。
 
 
登录客户linux centos 服务器,用root账号执行命令
 
 yum update curl
 
输入Y  回车
 
升级成功,然后重启PHP环境,客户网站的支付功能回复正常,可以正常下单。



总结这次问题的所在,第一,该支付出现cURL error 35 Peer reports incompatibleor unsuppo

rted protocol version.的错误,是在SSL证书到期后出现的,SSL证书到期直接更换的SSL证书

文件,并重启了PHP环境。第二curl确实是需要升级了,可能之前的版本不兼容导致支付出错。

希望以上问题的解决思路以及办法,能够帮到更多遇到这个问题的站长以及服务器代维公司。
分享: