前几日突然想起给 GitHub
项目撰写 README.md
文档。
Markdown
格式写起来轻车熟路,不一会儿完成,保存上传。
刷新页面查看效果,怪事儿来了,图片无法显示。
网上大神们有的说是图片路径问题,也有的说是被墙了,原因五花八门,解决方法也是麻烦不已。
到底是什么原因导致了 GitHub
上无法显示图片呢?
经过数个小时的查证测试,我终于 Get 到了真正的原因 -- DNS 污染!
DNS
叫做域名服务,这个小伙伴们都知道,那么什么是 DNS
污染呢?
简单一句话,就是这个域名服务被恶意篡改了缓存数据,导致解析出来的IP地址是不正确的。
你若是拿着错误的门牌号地址去送快递,那肯定找不到啊!
此外,真正存放用户上传文件的服务器域名是 raw.githubusercontent.com
,而并非是我们想像中的都在 github.com
,为降低主服务器压力,两者是分开的。
结合前面说到的 DNS
没有正确解析的情况,那么问题就简化成了如何让我们正确拿到 raw.githubusercontent.com
的IP地址。
对于个人电脑,我们可以先查找正确的IP地址,然后将其添加到本机 hosts
文件中。
通过访问IP地址解析网站,输入域名查找对应正确的IP地址。
https://www.ipaddress.com/
或者还一个更简便的方法,使用以下命令即可查看对应域名的IP地址。
其中 114.114.114.114
是互联网上的 DNS
服务器,你可以随意指定其它的。
nslookup raw.githubusercontent.com 114.114.114.114
以上两种方法都得到了四组IP地址。
然后以管理员权限运行文本编辑器(比如 Windows 的记事本),打开并编辑 hosts
文件。
# Windows
C:\Windows\System32\drivers\etc\hosts
# Linux 或 macOS
/etc/hosts
在 hosts
文件末尾追加如下两行,其中IP地址随便选择前面所查的任意一条。
当然你可以先 ping 一下这些IP地址,然后选择通畅且速度最快的。
185.199.108.133 raw.githubusercontent.com
185.199.108.133 githubusercontent.com
编辑完成后保存退出。
重新刷新 GitHub
页面,真的耶,图片终于回来了!
最后需要啰嗦一句,无法显示图片的原因既然是由于 DNS
污染造成的,而域名解析地址往往会每隔一段时间发生变更,所以小伙伴们最好时不时地查证一下域名指向的IP地址是否有所更新。
至于专属 DNS
服务器的小伙伴们,也可以添加正确的解析来解决问题,同样也需要注意时刻更新记录。
好了,如果本文对你有所帮助,还请抬抬小手帮忙点赞分享,还有别忘记关注我哦!
关注@网管小贾,阅读更多