问题及原因
chrome 浏览器无法显示GitHub相关页面头像、图片,原因在于DNS配置出现问题,无法解析图片的正确地址。那么如何配置DNS,这就要提到hosts文件了,hosts文件中记录着IP地址和Host name(主机名)的关系,主要作用包括:加快域名解析、方便局域网用户、屏蔽网站、顺利连接系统等等。有些破解软件需要屏蔽掉他们的联网验证,其原理就是修改hosts文件,此外,还可以通过修改hosts来屏蔽掉一些视频网站的广告。
为什么需要hosts,这是因为在访问网络的时候一般顺序是先将类似www.***.com的域名通过DNS域名解析器解析成类似124.***.***.***的IP地址,然而如果每次都需要进行这个过程将极其浪费时间和占用计算资源(因为需要通过专门的域名解析服务器),为了提高域名解析和访问效率,hosts应运而生,它将IP地址和域名直接关联起来,相当于把DNS服务器的字典本地化,只不过是更加个性化的字典。
解决
解决方法:重新配置hosts文件中的dns解析关系
windows
1.在桌面新建hosts.txt
文件,在行末追加如下的github DNS解析关系,保存退出更名为hosts
2.Win + R,输入C:\Windows\System32\drivers\etc\hosts
,打开目录,将上一步文件替换到此(解决权限问题)
3.Win + R,ipconfig /flushdns
,刷新DNS解析缓存:相当于更新配置文件
4.F5
重新刷新网页即可
- github DNS
# GitHub Start
140.82.113.3 github.com
140.82.114.20 gist.github.com
151.101.184.133 assets-cdn.github.com
151.101.184.133 raw.githubusercontent.com
199.232.28.133 raw.githubusercontent.com
151.101.184.133 gist.githubusercontent.com
151.101.184.133 cloud.githubusercontent.com
151.101.184.133 camo.githubusercontent.com
199.232.96.133 avatars.githubusercontent.com
151.101.184.133 avatars0.githubusercontent.com
199.232.68.133 avatars0.githubusercontent.com
199.232.28.133 avatars0.githubusercontent.com
199.232.28.133 avatars1.githubusercontent.com
151.101.184.133 avatars1.githubusercontent.com
151.101.108.133 avatars1.githubusercontent.com
151.101.184.133 avatars2.githubusercontent.com
199.232.28.133 avatars2.githubusercontent.com
151.101.184.133 avatars3.githubusercontent.com
199.232.68.133 avatars3.githubusercontent.com
151.101.184.133 avatars4.githubusercontent.com
199.232.68.133 avatars4.githubusercontent.com
151.101.184.133 avatars5.githubusercontent.com
199.232.68.133 avatars5.githubusercontent.com
151.101.184.133 avatars6.githubusercontent.com
199.232.68.133 avatars6.githubusercontent.com
151.101.184.133 avatars7.githubusercontent.com
199.232.68.133 avatars7.githubusercontent.com
151.101.184.133 avatars8.githubusercontent.com
199.232.68.133 avatars8.githubusercontent.com
199.232.96.133 avatars9.githubusercontent.com
# GitHub End
hosts文件规则,每行一个映射关系,第一列是IP地址,第二列是对应的域名,中间至少一个空格,#
是注释
Max OS
Mac 方法与之类似,在term中
# 1.粘贴上面的github hosts内容,保存退出
sudo vi /etc/hosts
# 2.根据Max OS版本刷新dns
# OS X 12 (Sierra) and later
macbook$ sudo killall -HUP mDNSResponder;sudo killall mDNSResponderHelper;sudo dscacheutil -flushcache
# OS X 11 (El Capitan) and OS X 12 (Sierra)
macbook$ sudo killall -HUP mDNSResponder
# OS X 10.10 (Yosemite)
macbook$ sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder
# Versions 10.10.1, 10.10.2, 10.10.3
macbook$ sudo discoveryutil udnsflushcaches
# OS X 10.9 (Mavericks)
macbook$ dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# OS X 10.7 (Lion) and 10.8 (Mountain Lion)
macbook$ sudo killall -HUP mDNSResponder
# OS X 10.5 (Leopard) and 10.6 (Snow Leopard)
macbook$ dscacheutil -flushcache
# OS X 10.4 (Tiger)
macbook$ lookupd -flushcache