GIT HTTPS连接问题

问题描述:

我在*上搜索了周围,我还没有发现任何完全回答这个问题,所以我想问它在这里,并提供尽可能多的关于我的问题的细节。GIT HTTPS连接问题

我刚刚安装了openSUSE 12.3,安装了git,并尝试使用https克隆到我的某个回购站中。以下命令可在Ubuntu,Mac和其他操作系统上正常运行,但由于某些原因,我在SUSE上遇到了问题。

当我运行:

git clone https://[email protected]/git/myrepo.git 

当“复制到‘myrepo’

我已经禁用sslverify,这是它是如何工作的其他机器它挂我不相信这是一个sslverify的问题,因为当我没有sslverify在其他机器上,我得到一个特定的错误信息,在这种情况下,我只是得到一个挂在'克隆到...'

我运行以下命令获取更多信息:

GIT_CURL_VERBOSE=1 git clone https://[email protected]/git/myrepo.git 

从输出为:

Cloning into 'myrepo'... 
* Couldn't find host mysite.com in the .netrc file; using defaults 
* About to connect() to mysite.com port 443 (#0) 
* Trying x.x.x.x... 
* Connected to mysite.com (x.x.x.x) port 443 (#0) 
* Connected to mysite.com (x.x.x.x) port 443 (#0) 
* successfully set certificate verify locations: 
* CAfile: none 
    CApath: /etc/ssl/certs/ 
* Unknown SSL protocol error in connection to mysite.com:443 
* Closing connection #0 
error: Unknown SSL protocol error in connection to mysite.com:443 while accessing https://[email protected]/git/myrepo.git/info/refs?service=git-upload-pack 
fatal: HTTP request failed 

我明显改变用户名,IP地址和DNS名称这一问题的缘故。

我听说curl的旧版本有问题,但这个版本是较新的版本之一。 Ubuntu上的libcurl版本实际上比较老,所以我仍然不认为这是一个错误,但不完全确定。我没有权利将此从HTTPS更改为SSH,因此不是替代方案。

在此先感谢。

+0

作为后续,我能够克隆到具有有效证书的仓库。例如,我通过https克隆了一个github repo,它工作正常。我应该补充一点,我克隆进来的回购失败了一个自签名证书。禁用SSL验证可以在其他机器上使用,但在SUSE上不起作用。 – saegeoff 2013-03-23 17:41:57

+0

我也在服务器上使用gitblit,如果有帮助。 – saegeoff 2013-03-23 17:45:12

我认为关键是SSL库(版本),而不是特别是libcurl版本。它看起来像你可能会使用OpenSSL,因此比较工作版本和非工作版本在这方面...

+0

SUSE机器上的OpenSSL版本是1.0.1e 2013年2月11日。我检查了ubuntu机器,它是1.0.1 2012年3月14日。所以SUSE版本确实更新。 – saegeoff 2013-03-24 21:45:56