【发布时间】:2015-06-29 10:14:06
【问题描述】:
我刚刚安装了新版本的 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:
另一台服务器的命令相同,但设置相同,但旧版本的工作文件...
【问题讨论】:
-
@jww,完成,谢谢...
-
Alert 40 是我一直在寻找的......最后一个测试......用
-tls1_2选项而不是-tls1重试。 -
@jww,我从客户端机器获得了未知选项 -tls1_2.... $ openssl version OpenSSL 0.9.8zb 2014 年 8 月 6 日
-
哦,我的...你在 OS X 上吗? (也许不是因为我使用的是 OS X 10.8 及其版本
OpenSSL 0.9.8zd 8 Jan 2015)。您可以使用 Brew 或 MacPorts 安装更新版本进行这样的测试吗?或者查看OpenSSL的Compilation and Installation,然后使用/usr/local/ssl/bin中的那个。 -
您应该提供一个答案,并接受您自己的答案。这就是 Stack Overflow 的工作原理。