解决Github网页上图片显示失败的问题
最近看看sentinel的源码,结果在阅读官方文档的时候,发现图片无法展示,十分难受,这个文档是存放在GitHub
,那应该就是GitHub的问题。
一、问题
如图
F12
打开控制台看一哈
呦,一堆红色×。主要报错是Failed to load resource: net::ERR_NAME_NOT_RESOLVED
去查了一下,博主john-zeng这样解释道:
二、解决方法
主要思路就是使用本地hosts
文件对网站进行域名解析,一般的DNS
问题都可以通过修改hosts
文件来解决,github
的CDN
域名被污染问题也不例外,同样可以通过修改hosts
文件解决,将域名解析直接指向IP
地址来绕过DNS
的解析,以此解决污染问题。
2.1 找到URL
打开github
任意未显示图片的网页,使用元素选择器(Ctrl+Shift+C
)放在显示不了的图片上,或者在无法显示的图片上右键-检查元素,定位到该图片的标签,那么你得到了它的URL,叫做src
属性。
比如介个!
在右面把它的网址复制粗来:https://user-images.githubusercontent.com/9434884/70971125-2f32b380-20db-11ea-89a8-45c6aaa2ded2.png
2.2 获取IP地址
得到上述网址以后打开IPAddress.com这个网站,在搜索框输入它的域名,就是https://
到com
那一部分,俗称二级域名:
user-images.githubusercontent.com
下面你会看到该域名的信息和IP
地址:
(其他如果有挂掉的图片一样使用此方法进行一一映射即可。)
2.3 修改hosts
2.3.1 直接修改hosts
文件
具体咋映射呢?修改hosts
文件!!!本人使用的是windows
系统,所以使用Sublime Text
打开:C:WindowsSystem32driversetchosts
在文件末尾添加:
可以直接选中以下内容复制粘贴,20200328更新
`# 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
151.101.184.133 gist.githubusercontent.com
151.101.184.133 cloud.githubusercontent.com
151.101.184.133 camo.githubusercontent.com
151.101.184.133 avatars0.githubusercontent.com
199.232.68.133 avatars0.githubusercontent.com
199.232.28.133 avatars1.githubusercontent.com
151.101.184.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
# GitHub End`
然后保存文件就OK了,至于无法保存,没有修改权限,鼠标右键-属性-安全-修改权限;或将hosts
文件复制一份,修改之后,复制到原文件夹替换!
2.3.2 使用SwitchHosts
下载安装SwitchHosts,并使用管理员方式打开(切记,一定要用管理员方式打开,不然没有权限修改host文件),然后如图,切换非常方便。
三、最后说几句
还可以使用ipconfig/flush
对本地DNS缓存进行一次刷新,如果遇到网络异常,可能是DNS缓存的问题,刷新一下,步骤。
- windows开始→运行→输入:CMD 按回车键,打开命令提示符窗口。
- 再输入: ipconfig /flushdns 回车,执行命令,可以重建本地DNS缓存。
再附上几个命令:
ipconfig /displaydns # 显示dns缓存
ipconfig /flushdns # 刷新DNS记录
ipconfig /renew # 重请从DHCP服务器获得IP