hosts
在Ubuntu上安装nvm遇到:curl: (28) Failed to connect to raw.githubusercontent.com port 443: Connection timed out [closed]
1.打开/etc/hosts
1 |
|
2.查询可用IP
使用ipaddress网站查询github.com
,ssh.github.com
,raw.githubusercontent.com
网站的可用IP
3.在末尾添加以下IP地址
1 |
|
4.保存文件并退出
5.可以使用ping查看域名是否有received
1 |
|
ps.为什么要这样做呢??? hosts是什么配置文件呢???
hosts文件是什么?
在Linux系统中,/etc/hosts
文件是一个本地的DNS解析文件,用于将IP地址和主机名映射起来。当你访问某个域名时,系统会首先检查这个文件,如果在这里找到了对应的IP地址,就会直接使用,而不再通过外部DNS服务器查询。
为什么要这么做?
这是将GitHub相关的域名(如 github.com、ssh.github.com 和 raw.githubusercontent.com)手动映射到指定的IP地址。这么做的目的通常有以下几种可能:
- 解决访问问题:有时候由于DNS解析缓慢或者网络封锁,GitHub相关服务的域名可能会无法访问,通过手动在/etc/hosts中添加这些映射,可以直接访问指定的IP,绕过DNS解析。
- 加快访问速度:如果你已经知道某个域名的IP地址,手动添加可以减少系统查询外部DNS的时间,从而提升访问速度。
- 绕过DNS劫持:在某些情况下,网络服务提供商或某些恶意软件可能会劫持DNS请求,将你引导到错误的网站,通过手动配置IP可以避免这种情况。
IP地址可能会随着时间变化,所以如果GitHub更新了服务器的IP地址,而你还在使用旧的配置,可能会导致访问失败。
hosts
http://example.com/2025/02/22/Other/hosts/