为什么会打不开github
当我们在浏览器中输入github的网址:https://github.com/,浏览器并不能根据该地址直接访问github服务器。在请求发给github服务器之前,需要先根据输入地址中的域名github.com,从远程dns查找该域名对应的ip地址,然后根据ip地址才能将请求发送到github服务器。流程如下:
从dns根据域名查找ip,或者根据ip请求github服务器时间太长,导致请求超时,就很容易出现github无法打开的情况:
从浏览器的网络请求查看,显示耗费了21秒就失败了
那么,我们该如何解决呢?可以从两个方面入手:
1、避免从远程dns根据域名查找ip的过程;
2、查找一个github服务器ip,而且访问这个ip要比较快。
解决
避免根据域名查找ip过程
为了避免根据域名到远程dns查找ip的过程,我们可以直接在我们的电脑上配置域名和ip的映射,这样当通过域名访问github服务器时,就能直接从本地获取到ip地址,而无需通过远程dns查找。那么,我们又怎么知道一个域名对应的ip是什么呢?有两种方式:一种是在网上找在线工具;另一种是在cmd通过ping域名的方式获取到ip。
比如通过cmd方式获取github.com域名的ip地址:
可以看到,github.com域名对应的ip地址是20.205.243.166。
如果是通过在线工具,同样可以找到域名对应的ip:
当我们知道域名对应的ip后,就可以在我们本机配置域名和ip的映射关系。windows系统下,以管理员的身份打开:C:\Windows\System32\drivers\etc\hosts文件,在最后加入一行(ip与域名之间用空格隔开):
配置好后保存,然后在cmd输入ipconfig /flushdns,这样浏览器就能发现本地的域名与ip映射关系:
此时再通过浏览器访问github,发现会快了很多(如果没有效果,可以重启下浏览器):
但是很奇怪,现在虽然访问到了github,但是页面布局错乱,完全没法看。从上图的浏览器网络请求上看,发现很多css样式文件都加载失败,所以网页布局错乱,应该就是css资源加载失败导致的。查看下请求css资源的地址,发现它的域名与github的域名不一样,猜测也是根据域名转ip影响的:
我们按照配置github.com域名与ip映射的思路,也对该域名进行配置。首先找这个域名的ip:
从cmd发现该域名对应的地址是环回地址(相当于本地地址),我们本地是没有css样式文件的,难怪加载不到css样式文件。那么我们通过在线工具来找ip:
找出来这么多个,在hosts文件都配上,配上后记得在cmd执行ipconfig /flushdns:
这个时候再访问github网站,发现网站正常显示,而且访问速度很快:
至此,如无意外,就能正常访问github了。文章来源:https://www.toymoban.com/news/detail-640247.html
查找一个github服务器ip,而且访问这个ip要比较快
通过上面的步骤,我们通过域名找到了ip,避免了通过远程dns转ip的过程 。那么访问这个ip快不快我们又怎么验证呢?我们可以测试一下。比如我们测试一下githu.com域名对应的ip:20.205.243.166。在cmd ping一下这个ip:
发现访问这个ip,一个往返时间大概是48ms。我们从在线工具拿个其它的ip地址试试:
发现其它地址都不是很快。那么我们就选用20.205.243.166就可以了。
其它域名如何选合适的ip也同理,可以多试几个,找到访问比较快的ip,配置好就可以了。文章来源地址https://www.toymoban.com/news/detail-640247.html
到了这里,关于一步步教你解决github无法打开问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!