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 库来访问世界上的绝大多数跟上了时代的网站。总之就是要升级软件版本。