某hub图片看不了?很着急啊!

一个很难受的问题

朋友,你们逛全球最大的同性交友网站Github的时候,是否遇到过这个问题?

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

一探究竟

猜测:难道是缓存问题?

于是我使用组合键 ctrl + f5强制刷新了一下网页,发现不起作用。我又打开f12,强制清除缓存:

还是不行,图片依旧无法显示。

但是我打开f12后注意到一个问题,console里面一片红色:

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

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

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

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

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

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

新打开一个窗口访问下这个地址:

哦豁,果然不出所料,无法访问。

域名映射IP

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

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

  1. dns污染
  2. host设置错误
  3. 官方更新了dns,但是dns缓存没有被更新,导致错误解析。

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

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

不知道hosts文件是什么东东的同学,可以看下这篇文章了解一下:Hosts文件详解

1. 搜索域名对应的IP:

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

在搜索框里输入需要查询的域名,点击搜索按钮:

搜索结果:

githubusercontent.com 对应的IP地址为: 199.232.96.133

2.修改hosts文件

hosts文件位置:C:\Windows\System32\drivers\etc

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

199.232.96.133  avatars.githubusercontent.com

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

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


可以看到,图片可正常访问。

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

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

我在网上找到了一份比较全的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缓存哦(好像不执行此命令也可以,反正我本地是可以的,哈哈)

为了方便大家理解,我粗略画了一张图描述图片资源下请求的过程:

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

我是程序员青戈,我的公众号是 Java学习指南,专注于Java技术分享,感兴趣的同学可以关注下哈。不关注也可以的。

  • 55
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 67
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 67
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员青戈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值