GitHub快速访问

前言

近期github不太稳定,总是出现连接不上,加载过慢的情况。作为一名Blog的爱好者,deploy到gihub上时不时就来个connect faield,这能忍?

于是我翻了翻度娘,找了找谷哥,大概是因为DNS域名污染,导致github连接总是会出错,之前配置的hosts域名映射太久没整了也会“过期”失效,又看到网络上一大把博客直接贴出host配置,让众多像我这种傻白甜直接“ctrl+c”,”ctrl+v”,起初看起来有用,心里默念“博主NB”,过一段时间又访问不了了心里“MMP”。

之所以一段时间后访问不了是因为域名映射的IP有时会产生变化,所以需要时不时查查看看域名映射IP变成啥了,然后再重新配置hosts。

这里我只介绍Windows怎么处理,用Linux的大神和用MacOS的土豪们,应该不需要担心这个问题~

如何查域名对应IP?

这里首先,你需要查以下三个域名:

  • github.com
  • assets-cdn.github.com
  • github.global.ssl.fastly.net

你可以通过以下两个网址查找:

第一步:查找域名映射IP

首先,我们用第一个网址来查找域名映射的IP。

步骤很简单,你只需要打开网址The Best IP Address, Email and Networking Tools - IPAddress.com,然后这样:

点击跳转后,再新页面找到域名对应的IP,记录下来:

在查找的过程中,你可能会碰到一个域名映射多个IP的,没关系,你全部记下来:

将上面三个域名查找完后,打开windows里的hosts文件:

我的host文件地址(windows10都是这个路径):C:\Windows\System32\drivers\etc

添加域名映射IP到Hosts文件

然后将记录下来的域名和IP的映射添加到hosts文件里。

这里要注意,不能直接在hosts文件里修改,因为会提示无权限保存不了,对于Computer Skills不是那么强的人来说,可以先在其他地方创建一个hosts文件,把原hosts文件里的内容copy到新创建的hosts文件里,然后在新的hosts文件里添加域名和IP映射,完成后拖动到原hosts文件所在的目录里,覆盖掉原hosts文件。

注意,IP和域名之间要有一个空格,其他内容可要可不要

第三步:刷新本机DNS解析缓存

(DNS就相当于地址薄,拿到网站域名去查找对应的IP,如果本机缓存的DNS地址簿里没找到,就去找提供DNS解析服务商的DNS地址簿进行解析)

之后我们刷新dns缓存,再登陆github试一试:

1.win+R健,输入cmd

2.cmd里输入ipconfig/flushdns

第四步:访问gayhub

然后访问github试:

你们以为我翻车了?不不,小了,格局小了!兄弟们往下接着看~

更换github域名映射的IP

这里我们首先访问这个DNS查询网站:Dns检测|Dns查询 - 站长工具 (chinaz.com),然后我们输入github,去查找:

然后我们找到了三个域名响应的IP对应的地址,然后我们分别到cmd里去ping这些域名:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
C:\Users\WhiteCookies>ping 13.250.177.223
正在 Ping 13.250.177.223 具有 32 字节的数据:
来自 13.250.177.223 的回复: 字节=32 时间=137ms TTL=37
来自 13.250.177.223 的回复: 字节=32 时间=137ms TTL=37
来自 13.250.177.223 的回复: 字节=32 时间=136ms TTL=37
来自 13.250.177.223 的回复: 字节=32 时间=139ms TTL=37

13.250.177.223 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 136ms,最长 = 139ms,平均 = 137ms
##############################################
C:\Users\WhiteCookies>ping 203.208.39.104
正在 Ping 203.208.39.104 具有 32 字节的数据:
请求超时。
##############################################
C:\Users\WhiteCookies>ping 52.69.186.44
正在 Ping 52.69.186.44 具有 32 字节的数据:
来自 52.69.186.44 的回复: 字节=32 时间=67ms TTL=33
来自 52.69.186.44 的回复: 字节=32 时间=67ms TTL=33
来自 52.69.186.44 的回复: 字节=32 时间=74ms TTL=33
来自 52.69.186.44 的回复: 字节=32 时间=81ms TTL=33

52.69.186.44 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 67ms,最长 = 81ms,平均 = 72ms
#############################################
C:\Users\WhiteCookies>ping github.com
# 这里是因为先前在hosts配置github.com域名映射这个IP,所以我们ping github域名就相当于是ping这个IP
正在 Ping github.com [140.82.114.3] 具有 32 字节的数据:
来自 140.82.114.3 的回复: 字节=32 时间=258ms TTL=37
来自 140.82.114.3 的回复: 字节=32 时间=302ms TTL=37
来自 140.82.114.3 的回复: 字节=32 时间=347ms TTL=37
来自 140.82.114.3 的回复: 字节=32 时间=285ms TTL=37

140.82.114.3 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 258ms,最长 = 347ms,平均 = 298ms

对比一下,发现github域名对应的IP:52.69.186.44响应是最快速的,这里我们去hosts修改github对应的域名的IP为此IP:

然后再刷新本机的DNS缓冲:

之后再次访问gayhub:

完成,响应速度还挺快的~