相关推荐recommended
一步步教你解决github无法打开问题
作者:mmseoamin日期:2024-02-06

一步步教你解决github无法打开问题

  • 为什么会打不开github
  • 解决
    • 避免根据域名查找ip过程
    • 查找一个github服务器ip,而且访问这个ip要比较快

      为什么会打不开github

      当我们在浏览器中输入github的网址:https://github.com/,浏览器并不能根据该地址直接访问github服务器。在请求发给github服务器之前,需要先根据输入地址中的域名github.com,从远程dns查找该域名对应的ip地址,然后根据ip地址才能将请求发送到github服务器。流程如下:

      一步步教你解决github无法打开问题,在这里插入图片描述,第1张

      从dns根据域名查找ip,或者根据ip请求github服务器时间太长,导致请求超时,就很容易出现github无法打开的情况:

      一步步教你解决github无法打开问题,在这里插入图片描述,第2张

      从浏览器的网络请求查看,显示耗费了21秒就失败了

      一步步教你解决github无法打开问题,在这里插入图片描述,第3张

      那么,我们该如何解决呢?可以从两个方面入手:

      1、避免从远程dns根据域名查找ip的过程;

      2、查找一个github服务器ip,而且访问这个ip要比较快。

      解决

      避免根据域名查找ip过程

      为了避免根据域名到远程dns查找ip的过程,我们可以直接在我们的电脑上配置域名和ip的映射,这样当通过域名访问github服务器时,就能直接从本地获取到ip地址,而无需通过远程dns查找。那么,我们又怎么知道一个域名对应的ip是什么呢?有两种方式:一种是在网上找在线工具;另一种是在cmd通过ping域名的方式获取到ip。

      比如通过cmd方式获取github.com域名的ip地址:

      一步步教你解决github无法打开问题,在这里插入图片描述,第4张

      可以看到,github.com域名对应的ip地址是20.205.243.166。

      如果是通过在线工具,同样可以找到域名对应的ip:

      一步步教你解决github无法打开问题,在这里插入图片描述,第5张

      当我们知道域名对应的ip后,就可以在我们本机配置域名和ip的映射关系。windows系统下,以管理员的身份打开:C:\Windows\System32\drivers\etc\hosts文件,在最后加入一行(ip与域名之间用空格隔开):

      一步步教你解决github无法打开问题,在这里插入图片描述,第6张

      配置好后保存,然后在cmd输入ipconfig /flushdns,这样浏览器就能发现本地的域名与ip映射关系:

      一步步教你解决github无法打开问题,在这里插入图片描述,第7张

      此时再通过浏览器访问github,发现会快了很多(如果没有效果,可以重启下浏览器):

      一步步教你解决github无法打开问题,在这里插入图片描述,第8张但是很奇怪,现在虽然访问到了github,但是页面布局错乱,完全没法看。从上图的浏览器网络请求上看,发现很多css样式文件都加载失败,所以网页布局错乱,应该就是css资源加载失败导致的。查看下请求css资源的地址,发现它的域名与github的域名不一样,猜测也是根据域名转ip影响的:

      一步步教你解决github无法打开问题,在这里插入图片描述,第9张

      我们按照配置github.com域名与ip映射的思路,也对该域名进行配置。首先找这个域名的ip:

      一步步教你解决github无法打开问题,在这里插入图片描述,第10张

      从cmd发现该域名对应的地址是环回地址(相当于本地地址),我们本地是没有css样式文件的,难怪加载不到css样式文件。那么我们通过在线工具来找ip:

      一步步教你解决github无法打开问题,在这里插入图片描述,第11张

      找出来这么多个,在hosts文件都配上,配上后记得在cmd执行ipconfig /flushdns:

      一步步教你解决github无法打开问题,在这里插入图片描述,第12张

      这个时候再访问github网站,发现网站正常显示,而且访问速度很快:

      一步步教你解决github无法打开问题,在这里插入图片描述,第13张

      至此,如无意外,就能正常访问github了。

      查找一个github服务器ip,而且访问这个ip要比较快

      通过上面的步骤,我们通过域名找到了ip,避免了通过远程dns转ip的过程 。那么访问这个ip快不快我们又怎么验证呢?我们可以测试一下。比如我们测试一下githu.com域名对应的ip:20.205.243.166。在cmd ping一下这个ip:

      一步步教你解决github无法打开问题,在这里插入图片描述,第14张

      发现访问这个ip,一个往返时间大概是48ms。我们从在线工具拿个其它的ip地址试试:

      一步步教你解决github无法打开问题,在这里插入图片描述,第15张

      发现其它地址都不是很快。那么我们就选用20.205.243.166就可以了。

      其它域名如何选合适的ip也同理,可以多试几个,找到访问比较快的ip,配置好就可以了。