GitHub加速访问

2015.11.28 21:44 Sat| 489次阅读 technology| 源码

为什么大陆访问速度慢

在浏览GitHub的时候,速度有时快有时慢,GitHub的服务器分布在全球各地,可能是因为DNS没有正确解析到附近的服务器访问。

通过修改hosts文件,可以按就近原则指定请求速度快的服务器IP地址,比如香港服务器。

是什么影响了访问速度

打开浏览器的开发者工具,点击Network选项卡,我们看到了网络连接情况

查询最快节点的IP地址

首先我们应该先找出最快节点的IP地址,通常访问速度会受地理的很大的影响,距离我们较近的节点通常会有较快的访问速度。

所以,最快节点应当选择香港解析得出的IP地址。

访问CA App Synthetic Monitor使用Ping工具,可以获得这个域名在全球各地解析出的IP地址列表。

笔者撰写此文时,得出的该域名assets-cdn.github.com在中国大陆访问速度最快的IP地址为:103.245.222.133

解决方法

将以下代码追加到系统到hosts文件中即可

192.30.252.128 github.com
103.245.222.133 assets-cdn.github.com
192.30.252.124 api.github.com

操作步骤

点击 开始>运行

notepad "%SystemRoot%\system32\drivers\etc\hosts"

勾选“以管理员身份运行”

将以下代码追加到hosts文件尾部,并保存。

# GitHub
192.30.252.128 github.com
103.245.222.133 assets-cdn.github.com
192.30.252.124 api.github.com

其他系统平台用户修改方法

Linux/Mac OS X/Uinx系统中的hosts文件路径为/etc/hosts

所以先打开终端。然后输入如下命令,打开hosts文件。

su vim /etc/hosts

输入root管理员密码,就可以使用vim打开hosts文件。

将如下代码添加到hosts文件中。在 vim 编辑中,按 i建进入插入模式,就可以将下面的代码粘贴到hosts文件中。

# GitHub
192.30.252.128 github.com
103.245.222.133 assets-cdn.github.com
192.30.252.124 api.github.com

然后按ESC键,再按下shift+ ;键,将vim切换到保存模式,然后输入wq以保存修改。

为什么修改hosts能够加速访问

因为系统解析域名时,首先会查找hosts文件中有没有对应的映射,如果有对应的域名与IP地址映射,则会直接将请求指向该映射的IP地址,省略DNS查询这个耗时的步骤,正因为跳过了DNS查询,与此同时也就避免了DNS污染。

使用hosts时我应该注意点什么

正确合理的使用hosts文件,可以加速网络访问。

但不合理的使用或错误的修改hosts文件,不但不会加快域名解析,反而可能会得到我们意想不到的后果,使得事与愿违。

这些后果常常会表现在,由于修改了hosts文件后,导致上网变慢或无法上网甚至可能会出现安全问题。

所以有必要了解以下几点的注意事项:

①避免hosts文件过大

因为每次解析域名时系统都会先去查找hosts文件中有无对应的映射项,过大的文件会使查找时间变长,导致解析速度被拖慢。
那么多大体积的hosts文件是合理的呢?
个人认为hosts文件应当保持在2kb以内即为合理。

②使用正确的映射地址

配置hosts文件其实就是绕过DNS服务器直接将指定域名解析到指定IP地址上。如果网站更换了原来的IP,而那IP又被有恶意的人取得,那么就很有可能被用作钓鱼,套取帐号密码等。

一般而言大公司的服务器IP不常更换,但也要保持足够警惕。另外市面上有些自动更新hosts的软件,建议慎重使用。

③以正确的格式编辑

按照"ip地址+空格+域名 "的格式添加单独的一行记录。

例如:123.123.123.123 www.123.com

注意,IP地址前面不要有空格,ip地址和域名之间,要有至少1个空格。修改后,一定要记得保存文件。

相关链接:

非常全面的讲解Hosts文件 - 周国选 - 博客园

修改 hosts 文件的原理是什么? - 知乎

Win7百科:怎样修改Win7下的Hosts文件

文章出自:陈旭华 http://chenxuhua.com/ 版权所有

本站原创文章,可自由引用,但请注明来源。