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

天府雲創發表於2018-06-28
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

相關文章