如何在 Linux 的 Windows 子系统上修复 'ECONNRESET: socket hang up'?

How to fix 'ECONNRESET: socket hang up' on Windows Subsystem for Linux?

我正在尝试在我的 Heroku 应用程序上设置 Sidekiq - 目前正在学习 GoRails 上的本教程。但是,每当我 运行 需要互联网访问的终端命令时,我似乎都会出错。我在我的开发中使用 Windows 子系统 Linux,到目前为止没有遇到任何问题。

例如,当我 运行 heroku config 以验证我的 heroku redis 是否已设置时,我得到以下信息(注意最后一行中的错误) :

 ▸    heroku-cli: update available from 6.14.39-addc925 to
 ▸    6.99.0-ec9edad
 ▸    ECONNRESET: socket hang up

我不确定出了什么问题,但我不认为这是 heroku-cli 本身的问题。我认为它更像是 Linux 问题的 Windows 子系统。例如,当我 运行 yarn global list 时,我得到以下

yarn global v1.3.2

Done in 0.36s.
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...

同样,当我 运行 sudo apt-get update 努力更新子系统本身时,我遇到了很多错误。这是一个小样本:

...
...
Err:14 https://deb.nodesource.com/node_8.x xenial/main Sources
  gnutls_handshake() failed: Error in the push function.
...
...
Err:84 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages
  Connection failed [IP: 91.189.88.161 80]
...
...

它安装了一些包,但其中许多包连接失败。还有当 运行ning sudo apt-get upgrade heroku:

Err:1 https://cli-assets.heroku.com/branches/stable/apt ./ heroku 6.14.40-1
  gnutls_handshake() failed: Error in the push function.
Err:2 http://security.ubuntu.com/ubuntu xenial-security/main amd64 libssl-doc all 1.0.2g-1ubuntu4.10
  Connection failed [IP: 91.189.88.161 80]
...
...

heroku 给我的 update available 消息也不会消失。

运行 heroku update 给我以下内容:

 ▸    heroku-cli: update available from 6.14.39-addc925 to
 ▸    6.99.0-ec9edad
 ▸    update the CLI with "sudo apt-get upgrade heroku"
 ▸    'ECONNRESET': socket hang up

我认为这不是网络问题,因为我可以自由访问 Chrome 等网站

有什么想法可能是错的,我可以做些什么来解决它? (我不想在这个问题解决之前尝试推送我的代码)

经过进一步挖掘,问题似乎出在卡巴斯基 Windows 上。我关闭了卡巴斯基并启动了一个新的 WSL 实例,一切正常,没有更多 gnutls_handshake() 失败(或任何其他失败)。

我是通过 this server fault question 第一次接触到这个问题的 - 查看问题的评论。

这个问题似乎有一个 运行 线程(卡巴斯基对修复帮助不大 :|):

This post 声称此问题已在 Windows 版本 1809(我有 1803)

中修复

并且this post也谈到了WSL和卡巴斯基之间的问题