在Windows桌面上使用Postman调用华为云API一切都很OK,但是换成Linux平台后,调用华为云API就歇菜了,遇到一些诡异的问题。
CentOS 6.5操作系统中使用curl命令调用华为云API时遇到如下错误:
image.png提示NSS error -5961 ,SSL connect error
经过艰苦卓绝的定位,发现问题出现在HTTPS加密协议上。
出于安全考虑,华为云只支持TLSv1.2加密协议,但是CentOS 6.5操作系统中curl命令依赖的nss安全软件包3.15版本不支持TLSv1.2,使用yum -y update nss升级到3.28版本后问题就解决了
image.png image.png使用java(jdk 1.7)调用华为云API时,无法建立连接,报connection reset
使用tcpdump进行抓包,发现华为云返回了一个RST报文,主动关闭连接请求。
image.png经搜索得知jdk 1.7默认加密算法是TLSv1.0,jdk 1.8的默认加密算法才是TLSv1.2,替换成jdk 1.8后问题也解决了。
image.png image.png参考
cURL SSL连接错误35和NSS错误-5961
https://cloud.tencent.com/developer/ask/sof/110613758/answer/134751210
CentOS6 - curl NSS error -5961 resolved by updating packages. What did it actually do?
https://stackoverflow.com/questions/62351112/centos6-curl-nss-error-5961-resolved-by-updating-packages-what-did-it-actual
What is NSS error -5961 (PR_CONNECT_RESET_ERROR)
https://superuser.com/questions/916077/what-is-nss-error-5961-pr-connect-reset-error
cURL SSL connect error 35 with NSS error -5961
https://stackoverflow.com/questions/21887315/curl-ssl-connect-error-35-with-nss-error-5961
网友评论