域名解析失败的解决方法

问题的发现

  1. 最近访问github,网页上的图片总是访问不了,我以为公司网络禁止了,不影响,也就没有解决
  2. clone项目后,yarn & install都报错,报错信息如下:
Error: getaddrinfo ENOENT raw.githubusercontent.com at GetAddrInfoReqWrap.onlookup

域名地址解析失败,导致地址无法连接

解决方法

  1. 查询域名对应的真实IP
    https://www.ipaddress.com
  2. 修改host文件
    1). 对应地址:

    windows: %systemroot%\system32\drivers\etc
    linux: /etc/hosts

    2).打开文件后添加在1上查找到的地址和ip(这个对应的需要自己去查一下,网上一些旧的用也是不可以的)
    eg:

    # github相关
    52.74.223.119 github.com
    192.30.253.119 gist.github.com
    54.169.195.247 api.github.com
    185.199.111.153 assets-cdn.github.com
    151.101.108.133 user-images.githubusercontent.com
    199.232.96.133 gist.githubusercontent.com
    199.232.96.133 cloud.githubusercontent.com
    199.232.96.133 camo.githubusercontent.com
    199.232.96.133 raw.githubusercontent.com
    199.232.96.133 avatars0.githubusercontent.com
    199.232.96.133 avatars1.githubusercontent.com
    199.232.96.133 avatars2.githubusercontent.com
    199.232.96.133 avatars3.githubusercontent.com
    199.232.96.133 avatars4.githubusercontent.com
    199.232.96.133 avatars5.githubusercontent.com
    199.232.96.133 avatars6.githubusercontent.com
    199.232.96.133 avatars7.githubusercontent.com
    199.232.96.133 avatars8.githubusercontent.com
    
  3. windows 修改host生效方法
打开cmd窗口
ipconfig /displaydns &:: # 显示所有 dns内容 
ipconfig /flushdns &:: # 刷新所有 dns内容

原理

要了解这个问题的本质,我们应该回想一下,一个网页打开的时候,经过了哪些处理,用一张图看一下

域名解析失败的解决方法_第1张图片

从上图可以看到,我们域名解析先会拿本地的缓存(浏览器/电脑),当我们无法域名解析失败的时候,我们可以先去https://www.ipaddress.com网站查询网站对应的ip信息,用缓存的方式直接在本地添加对应的解析规则,这样便可以正常访问

你可能感兴趣的:(npm,dns,前端,web)