github上的图片看不了,教你解决

一个很难受的问题

朋友,你们逛全球最大的同性交友网站Github的时候,是否遇到过这个问题?github上的图片看不了,教你解决_第1张图片github上的图片看不了,教你解决_第2张图片

图片都无法显示了。这是什么情况?我已经遇到过好几次了,之前没时间管它,不过一直这样也不是办法啊,太难受了!今天我来探探究竟。

一探究竟

猜测:难道是缓存问题?

于是我使用组合键 ctrl + f5强制刷新了一下网页,发现不起作用。我又打开f12,强制清除缓存:github上的图片看不了,教你解决_第3张图片还是不行,图片依旧无法显示。

但是我打开f12后注意到一个问题,console里面一片红色:github上的图片看不了,教你解决_第4张图片

看这样子应该是因为网络问题,加载图片资源失败了。

考虑到github是国外的网站,难道是被墙了?

应该不是,除了图片之外的代码和文档都可以访问,我猜测应该是图片服务器访问失败了。

于是我定位到图片的地址,看看这些图片是从哪个服务器请求的。

使用这个小箭头点击网页上图片的位置,可以看到源码:

github上的图片看不了,教你解决_第5张图片

然后我看到一个头像的图片地址是:https://avatars.githubusercontent.com/u/3961183?s=64&v=4

新打开一个窗口访问下这个地址:github上的图片看不了,教你解决_第6张图片哦豁,果然不出所料,无法访问。

域名映射IP

那么问题出在哪里呢?我打开百度一顿搜索,找到了答案:

github上的图片看不了,教你解决_第7张图片

 

 

网友说出现这个问题,一般有三种情况:

  1. dns污染

  2. host设置错误

  3. 官方更新了dns,但是dns缓存没有被更新,导致错误解析。

OK,知道问题的原因,我们就顺着他的思路来尝试解决下问题。

这里DNS解析出现问题,那么我们修改hosts文件,将域名和IP映射起来。

不知道hosts文件是什么东东的同学,可以看下这篇文章了解一下:https://blog.csdn.net/zhaiax672/article/details/79315584

1. 搜索域名对应的IP:

通过 https://www.ipaddress.com 这个网站,先找到域名avatars.githubusercontent.com对应的ip地址。

在搜索框里输入需要查询的域名,点击搜索按钮:github上的图片看不了,教你解决_第8张图片搜索结果:github上的图片看不了,教你解决_第9张图片githubusercontent.com 对应的IP地址为:199.232.96.133

2.修改hosts文件

hosts文件位置:C:\Windows\System32\drivers\etcgithub上的图片看不了,教你解决_第10张图片

使用notepad++编辑器打开hosts文件,添加一条映射规则:

图片

199.232.96.133  avatars.githubusercontent.com

ps: 添加完此映射关系之后,可以使用这个命令刷新下本地的DNS缓存:ipconfig/flush,打开CMD,输入 ipconfig/flush 即可。

然后我们再来访问刚才访问失败的图片:

github上的图片看不了,教你解决_第11张图片可以看到,图片可正常访问。

那么我们再回到github,访问试试:

github上的图片看不了,教你解决_第12张图片

图片也都正常显示了,至此,我们的问题已经得到解决

我在网上找到了一份比较全的dns配置,这里也贴一下吧:

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

同学们可以直接把这个copy到你本地的hosts文件里,执行命令:ipconfig/flush 后即可正常访问。

举一反三

如果再次遇到类似的问题,我们可以尝试通过配置DNS来解决。方法很简单,先在 ipaddress.com 找到域名对应的ip地址,然后把 ip和域名的映射规则配置到hosts文件即可。

比如:199.232.96.133                  avatars.githubusercontent.com

最后别忘记使用命令ipconfig/flush 刷新下DNS缓存哦(好像不执行此命令也可以,反正我本地是可以的,哈哈)

为了方便大家理解,我粗略画了一张图描述图片资源下请求的过程:github上的图片看不了,教你解决_第13张图片

用户在访问 avatars.githubusercontent.com 这个域名的时候,会先通过本地DNS解析出实际的IP地址,如果有,则直接根据IP访问实际的文件服务器获取资源;如果本地解析不出来,会通过网络的DNS解析获取IP地址进行访问。最后文件服务器会将文件资源返回给浏览器请求,展示给用户。

你可能感兴趣的:(life,网络,github,java,elasticsearch,搜索引擎)