SSL23_GET_SERVER_HELLO:sslv3 警报握手失败
SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
我刚刚安装了新版本的 gitlab,新安装后 ssl 无法正常工作...它抛出 SSL23_GET_SERVER_HELLO:sslv3 警报握手错误。 ssh 工作正常。我看到的唯一区别是在旧浏览器中说它使用的是 TLS 1.0,而在新版本中它说的是 1.2。由于这与 gitlab 无关,我将问题发布在 Whosebug 中...
$ git clone https://gitlabserver/group/project.git
Cloning into 'project'...
* Couldn't find host gitlabserver in the _netrc file; using defaults
* Adding handle: conn: 0x282d6f8
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x282d6f8) send_pipe: 1, recv_pipe: 0
* About to connect() to gitlabserver port 443 (#0)
* Trying gitlabserver...
* Connected to gitlabserver port 443 (#0)
* successfully set certificate verify locations:
* CAfile: c:/Users/lanid/curl-ca-bundle.crt
CApath: none
* error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
* Closing connection 0
fatal: unable to access 'https://gitlabserver/group/project.git/': error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
这是使用 TLS 1.0 和 SNI 进行测试时 OpenSSL s_client
的输出:
openssl s_client -connect <hostname>:<port> -tls1 -servername <hostname>
Loading 'screen' into random state - done
CONNECTED(00000208)
8008:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:.\ssl\s3_pkt.c:1126:SSL alert number 40
8008:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:.\ssl\s3_pkt.c:547:
对具有相同设置但旧版本有效文件的另一台服务器使用相同的命令...
升级 openssl 解决了这个问题...
升级 OpenSSL 应该可以解决您的问题。
OpenSSL 最近暴露了一些严重的漏洞。此外,网络上的许多网络服务器都加强了安全性以阻止那些易受攻击的协议和密码。
如果您在 Git 客户端上遇到此问题。
然后安装最新版本 Git bash。
我遇到了同样的问题并决定安装新的 Git 客户端。
我刚刚安装了新版本的 gitlab,新安装后 ssl 无法正常工作...它抛出 SSL23_GET_SERVER_HELLO:sslv3 警报握手错误。 ssh 工作正常。我看到的唯一区别是在旧浏览器中说它使用的是 TLS 1.0,而在新版本中它说的是 1.2。由于这与 gitlab 无关,我将问题发布在 Whosebug 中...
$ git clone https://gitlabserver/group/project.git
Cloning into 'project'...
* Couldn't find host gitlabserver in the _netrc file; using defaults
* Adding handle: conn: 0x282d6f8
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x282d6f8) send_pipe: 1, recv_pipe: 0
* About to connect() to gitlabserver port 443 (#0)
* Trying gitlabserver...
* Connected to gitlabserver port 443 (#0)
* successfully set certificate verify locations:
* CAfile: c:/Users/lanid/curl-ca-bundle.crt
CApath: none
* error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
* Closing connection 0
fatal: unable to access 'https://gitlabserver/group/project.git/': error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
这是使用 TLS 1.0 和 SNI 进行测试时 OpenSSL s_client
的输出:
openssl s_client -connect <hostname>:<port> -tls1 -servername <hostname>
Loading 'screen' into random state - done
CONNECTED(00000208)
8008:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:.\ssl\s3_pkt.c:1126:SSL alert number 40
8008:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:.\ssl\s3_pkt.c:547:
对具有相同设置但旧版本有效文件的另一台服务器使用相同的命令...
升级 openssl 解决了这个问题...
升级 OpenSSL 应该可以解决您的问题。
OpenSSL 最近暴露了一些严重的漏洞。此外,网络上的许多网络服务器都加强了安全性以阻止那些易受攻击的协议和密码。
如果您在 Git 客户端上遇到此问题。
然后安装最新版本 Git bash。
我遇到了同样的问题并决定安装新的 Git 客户端。