OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failur

OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

Unable to establish SSL connection.

curl: (35) error:140773F2:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert unexpected message


问题描述当使用wget或者curl命令下载带有https的网站文件的时候error出错

问题分析:以上错误是系统装了OpenSSL 0.9.8h,而你去访问 sslv3 的数据时产生的。

产生原因是这个版本的不能自动检测出ssl版本,使用时必须手工指定。低版本则不需要指定。

实例方法:

如果使用shell脚本 需要 这样写 curl -3 -k “https://xxxx”

使用php curl 需要设置 curl_setopt($ch, CURLOPT_SSLVERSION, 3);

详细介绍:

使用wget下载:

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

报错:
Resolving fastdl.mongodb.org... 54.230.156.120, 54.230.156.74, 54.230.156.86, ...
Connecting to fastdl.mongodb.org|54.230.156.120|:443... connected.
OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.

加了--no-check-certificate还是报错

wget --no-check-certificate  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

按照网上说法使用curl下载,还是不行

curl -O -L https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz  有时候curl -O -L还是蛮管用的

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2.x86_64.rpm  像这种的可以直接rpm -ivh xxx也可以使用curl -O -L

报错信息:

curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

问题溯源:

升级openssl 等库了。SSLv3 因为安全漏洞而被禁用了,所以你需要一个支持 TLSv1.0、TLSv1.1 或者 TLSv1.2 的 SSL/TLS 库来访问世界上的绝大多数跟上了时代的网站。总之就是要升级软件版本。

[知识拓展]

Linux使用curl访问https站点时所有报错汇总整理 - CSDN博客 https://blog.csdn.net/duan19056/article/details/51785728

猜你喜欢

转载自blog.csdn.net/English0523/article/details/80847030
今日推荐