致命错误:无法访问'https://dev.azure.com/xxx':在连接到dev.azure.com:443时,OpenSSL SSL_connect:连接被重置。

44

我在Azure的存储库中工作已有几个月,一直没有任何问题,但最近在更新我的远程或推送/拉取时会偶尔出现以下错误:

OpenSSL SSL_connect:在与dev.azure.com:443的连接中重置了连接

如果我不断重试,最终它会起作用,但不知道是什么原因引起的。

我尝试过以下措施:

  • 更新Git
  • 关闭防火墙
  • 在另一台电脑上尝试,没有出现问题

1
基于以下两点: 1.) 如果你一直重试 (并且假设没有其他更改), 最终它会工作。 2.) 从另一台机器上正常工作。 这让我相信问题可能与 Git 或 Azure 无关,而是出现在有问题的机器上的网络问题。也许是不稳定的 Wi-Fi 或者是坏的网络电缆? 有一件事情需要检查,在它不能工作的时刻,这台机器能否无问题地访问互联网上的其他东西? - TTT
1
我猜你会说即使问题出现时互联网也能正常工作...如果是这样,间歇性的网络问题可能是某个路由器出了问题。当问题发生时,请尝试ping dev.azure.com并查看是否可以访问并获得响应。同时,在它正常工作时进行比较(包括IP和响应)。 - TTT
9个回答

87

这似乎与IPv6有关 - 您可以通过以下方式禁用它:

  1. 进入查看网络连接

    View Network Connections

  2. 右键单击当前网络,选择属性

    Network Properties

  3. 取消选中 IPv6 互联网协议版本6

    Internet Prorotcol Version 6


1
令人惊讶的是,Silver和Grilse的答案对我没有用,但这个方法有效。然而,它需要重新启动 - pbristow
3
这对我起作用了,而且不需要重新启动。 - Rob Bowman
2
这对我也有效。有人知道为什么禁用IPv6会解决这个问题吗? - Will
1
截至 03/2023,这仍然是一个有效的解决方案。 - E-Bat
3
截至2023年8月,对我来说有效,不需要重新启动。 - Judah Gabriel Himango
显示剩余3条评论

29
这似乎与IPv6有关。 当我禁用IPv6时,连接就能正常工作。当我重新启用IPv6时,它又失效了。
我通过编辑我的hosts文件来禁用dev.azure.com的IPv6,这样一切就能正常工作。

C:\ Windows \ System32 \ drivers \ etc \ hosts

# Workaround for git connection errors
# fatal: unable to access 'https://dev.azure.com/MyOrg/my-project/_git/my-repo/': OpenSSL SSL_connect: Connection was reset in connection to dev.azure.com:443
# https://developercommunity.visualstudio.com/t/cannot-connect-to-devazurecom-nor-azuremicrosoftco/1189016
13.107.42.20  dev.azure.com

dev.azure.com的IPv4地址可能在未来发生变化,请验证并根据需要进行调整。

进一步阅读


2
非常感谢您和@KyleMit。我们团队中也有一个成员遇到了这个问题。我们像Kyle建议的那样完全禁用了他们机器上的IPv6,问题立即得到解决。 - René Sackers

10

我也注意到关闭IPv6可以解决问题。但事实上,这是由于无线驱动程序引起的。

原来问题出在“Killer Prioritization Engine”中,它是英特尔无线网卡驱动程序的一部分。在“Killer Intelligence Center”中关闭此功能可以解决问题,让我能够使用IPv6。


这对我有用。只是在更新到Killer套件后出现了问题。IPV6仍然启用。如果你有英特尔无线网卡,可能是这个问题。 - csbelli
我真的没想到会找到解决这个问题的办法,但它完美地修复了。奇怪的是,我只在家里的网络上遇到连接重置的问题,而在工作网络上从未遇到过。 - keithl8041
这对我来说也是个问题。我没有关闭优先级引擎,而是下载了最新的英特尔驱动程序,其中包括了Killer Intelligence Center。 - undefined

6
在Windows 10和11上,以下命令适用于我:
``` git config --global --unset https.proxy git config --global --unset http.proxy ```

3

之前一切正常,突然出现了问题:

$ git push origin master
fatal: unable to access 'https://dev.azure.com/xxx': OpenSSL SSL_connect: Connection was reset in connection to dev.azure.com:443

原因未知(我已不再关心),但以下是适用于我的解决方案:
  1. 在命令提示符中运行:tracert www.dev.azure.com
  2. 提示显示:Tracing route to l-0011.l-msedge.net [aaa.bbb.ccc.ddd]
  3. 在 Windows 中导航至:C:\Windows\System32\drivers\etc
  4. 使用 Notepad++ 修改 hosts 文件(以管理员身份运行以保存)。
  5. 添加行:aaa.bbb.ccc.ddd dev.azure.com
之后,我可以再次推送。

进一步阅读


2
这对我有用,但仍不确定原因。
git fetch --all;
git pull --all;

现在像git pullgit push这样的命令将会生效。


命令中是否包含分号? - Ricky Aguilar
如果您逐一运行它们,就不需要分号,它们只是使复制和粘贴变得更加容易。 - Michael Dimmitt

1

我曾经也遇到过与我的代码库相关的问题,但在转换到Github之前,我将Git Bash更新到了2.33.1版本,然后问题就解决了。

请不要忘记更新Git版本(2.33.1) 在您的网络属性中禁用IPV6协议


1
我在Windows 10上看到了这个问题。心血来潮,我进入了我的互联网连接的网络设置,网络配置文件,并将其从“公共”更改为“专用”。Git pull立即起作用。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接