最近在用curl 脚本安装 nvm 的时候报了curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
的错。
查询了下,原因是 github 的一些域名的 DNS 解析被污染,导致DNS 解析过程无法通过域名取得正确的IP地址。
关于DNS 污染,感兴趣的话可以去了解一下。
解决方法:
1. 打开 https://www.ipaddress.com 在搜索框输入我们连接失败的域名,我们这次是 raw.githubusercontent.com
查询结果如下:
2. 在我们的host文件加上获得的IP地址
sudo vim /etc/hosts
在文件最后追加如下内容,保存
185.199.108.133 raw.githubusercontent.com
然后就一般来说就可以了。以后碰到类似错误都可以用查IP的这个方法。
如果因为无法科学上网的原因仍然报错:fatal: unable to access 'https://github.com/nvm-sh/nvm.git/': LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
,
那再去把github.com的IP查出来,追加到/etc/hosts
,再执行下载安装脚本即可。