我在stackoverflow上搜索了一下,但我还没有发现任何可以回答这个问题的内容,所以我想在这里提出并尽可能详细地提供我的问题。
我刚安装了openSUSE 12.3,安装了git并尝试使用https克隆到我的一个repos中。以下命令可以在Ubuntu,Mac和其他操作系统上运行而没有问题,但出于某种原因我在SUSE上遇到了麻烦。
当我跑步时:
git clone https://username@mysite.com/git/myrepo.git
克隆到' myrepo'
时会挂起我已经禁用了sslverify,这就是它在其他机器上的工作方式。我不相信这是一个严重的问题,因为当我在其他机器上没有sslverify时,我会得到一个特定的错误消息。在这种情况下,我只是抓住了克隆到......'
我运行以下命令以获取更多信息:
GIT_CURL_VERBOSE=1 git clone https://username@mysite.com/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://username@mysite.com/git/myrepo.git/info/refs?service=git-upload-pack
fatal: HTTP request failed
为了这个问题,我显然更改了用户名,IP和DNS名称。
我听说curl的旧版本有问题,但这个版本是较新版本之一。 Ubuntu上的libcurl版本实际上比较旧,所以我仍然不认为这是一个bug但不完全确定。我没有权利将其从HTTPS更改为SSH,因此这不是替代方案。
提前致谢。
答案 0 :(得分:1)
我认为关键是SSL库(版本),而不是特别是libcurl版本。看起来您可能正在使用OpenSSL,因此在该方面比较工作版本与非工作版本...