SSL23_GET_SERVER_HELLO:sslv3警报握手失败

时间:2015-06-29 10:14:06

标签: git ssl openssl gitlab

我刚刚安装了新版本的gitlab,在新安装后ssl无法运行...它会抛出SSL23_GET_SERVER_HELLO:sslv3警报握手错误。 ssh工作正常。唯一的区别我看到的是在旧的浏览器中说它使用的是TLS 1.0,在新版本中它说的是1.2。因为这与gitlab无关,我在stackoverflow中发布了这个问题......

$ 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:

具有相同设置但旧版本工作文件的另一台服务器的相同命令...

3 个答案:

答案 0 :(得分:4)

如果您在Git Client上遇到此问题。

然后安装最新版本的Git bash。

我遇到了同样的问题,并决定安装新的Git Client。

答案 1 :(得分:3)

升级openssl解决了这个问题......

答案 2 :(得分:2)

OpenSSL的升级可以解决您的问题。

OpenSSL最近暴露了一些严重的漏洞。此外,网络上的许多Web服务器都加强了安全性,以阻止那些易受攻击的协议和密码。