我们正在通过https运行git服务器,并且连接没有任何问题,因为我们所有人都使用Visual Studio来这样做。现在有人想使用标准的git bash,但它无法连接以下错误输出。
fatal: unable to access 'https://server/Repo.git/': Unknown SSL protocol error in connection to server:443
我尝试了一些不同的密码套件,但没有任何效果。然后我想到git可能还不支持ECDSA证书。因此我将ECDSA证书与RSA交换了一个。那也没有用。
然后,我尝试使用以下命令与OpenSSL s_client连接:
OpenSSL> s_client -connect server:443
这是运行命令的输出:
CONNECTED(0000018C)
write:errno=10054
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 307 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
我在Google上搜索了错误号10054
,发现它表示连接被拒绝。我们使用IIS 8.5为git服务器提供https端点。我可以通过所有Web浏览器连接到Web环境,并且可以通过Visual Studio git界面使用git服务器。因此,我认为这不是防火墙问题。我想知道是否有人以前曾遇到过这个问题,他们是否可以在这里帮助我们?
确认您使用的是TLS 1.0或更高版本。某些服务器需要TLS 1.2。如果不确定服务器是否支持TLS 1.2,请查看上面的Steffen Ulrich的答案,然后首先尝试。
如果那没有帮助,则检查端点是否需要SNI。如果是这样,这可能是问题所在。如果您在s_client
将servername
参数设置为您要联系的服务器名称的情况下调用该命令,则该命令应该起作用。
基本命令示例:
s_client -connect example.com:443 -tls1 -servername example.com
您可以s_client
在s_client
手册页中找到这些选项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句