【经验分享】突然我的SM.MS的图床没法访问了(内附解决方法)
一大早写文章,发现Markdown里的图片全部都不能成功加载了,这个的确挺头疼的!
文章目录
- 1 说一说现象
- 2 简单排查一下
- 3 查找解决方案
- 4 实施解决方案
- 5 总结
- 6 更多分享
1 说一说现象
有点残酷,最近有好些天没有写文章了,今天打开 typora 想写点东西,偶来一翻到早前写的一片文章,发现文章里面的附图居然加载不出来了,看起来就是这样:
这个的确看起来的变扭啊,我猛得一想,窝草,不会是MS.MS 图床挂掉了吧?那我那些上传的图片还未来得及备份,该怎么办?
2 简单排查一下
怀着忐忑的心情,我开始做起排查来:
- 先确认下我的电脑是具有外网能力的:很简单,因为我都可以访问baidu等网页内容;
- 再用浏览器访问一下图片的URL地址,发现报错了,提示如下,错误是 对方关闭了链接,无法访问此网站 ;
- 有了上面的报错,我决定排查一下 s2.loli.net 的网络畅通情况,这里使用ping命令,查出来的结果如下,奇怪了,咋返回来的IP地址是 127.0.0.1 啊?这不科学!
有了以上几个简单排查,我基本确认了,问题可能出在 域名解析 上面;可能是我的路由器网络偶尔抽风了,导致 s2.loli.net 域名的解析出问题了,所以图片对应的URL就无法访问,自然图片也就无法加载出来了。
3 查找解决方案
有了上面的基础判断,基本思路就是想办法把 域名 s2.loli.net 解析到正确的IP上面。
印象中,Linux系统下有配置文件可以做这个事情,同样,Windows下有一个文件可以做这个事情,但我不记得具体是哪个文件,以及如何配置这个文件。
万能的baidu还是帮上了大忙,直接找到了关键链接,
也就是要修改: C:\Windows\System32\drivers\etc\hosts 文件
现在的关键点在于找到 s2.loli.net 这个域名解析的正确IP地址。
4 实施解决方案
回到上一步的需求,如何找到 域名 s2.loli.net 对应的IP地址,我个人推荐使用Linux下的nslookup命令:
$nslookup s2.loli.net
Server: 192.168.3.166
Address: 192.168.3.166#53
Non-authoritative answer:
s2.loli.net canonical name = s2.loli.net.cdn.cloudflare.net.
Name: s2.loli.net.cdn.cloudflare.net
Address: 172.67.69.40
Name: s2.loli.net.cdn.cloudflare.net
Address: 104.26.0.190
Name: s2.loli.net.cdn.cloudflare.net
Address: 104.26.1.190
Name: s2.loli.net.cdn.cloudflare.net
Address: 2606:4700:20::681a:be
Name: s2.loli.net.cdn.cloudflare.net
Address: 2606:4700:20::681a:1be
Name: s2.loli.net.cdn.cloudflare.net
Address: 2606:4700:20::ac43:4528
从上面的解析输出,我们可以知道,这个域名对应很多个IP地址,我们只需要选择一个就好了,比如 104.26.1.190
然后在 C:\Windows\System32\drivers\etc\hos 文件的尾部,按这样加上解析规则,即可。【注意】修改此文件修改管理员权限。
修改完了之后,可能不会马上就恢复,可以尝试把浏览器关闭,再打开,重新输入图片的地址,应该就可以解析到图片了。
同时,typora也是类似的道理,把它重启一下,再进入到对应的文章,不出意外的话,就可以重新看到图片加载出来了。
这不,又可以愉快地玩耍了。
5 总结
一般来说,我们使用Markdown语法写技术文章,遇到图片加载不出来的情况,就两种情况:
- 要么就是本地的网络问题:先确保本地网络畅通,再查浏览器图片的预览,从而判断是不是域名解析出了问题;
- 要么就是服务器端图床限制:比如禁止外链加载、防盗;或者图传服务挂了,又或者是自建的图床云服务欠费了;等等之类的原因。
【还有一个问题】
是不是,每次我都需要去修改hosts文件啊?改天如果网络的域名解析恢复正常了,那个hosts文件,我能恢复回去吗?
朋友们,你们觉得呢?
6 更多分享
架构师李肯
架构师李肯(全网同名),一个专注于嵌入式IoT领域的架构师。有着近10年的嵌入式一线开发经验,深耕IoT领域多年,熟知IoT领域的业务发展,深度掌握IoT领域的相关技术栈,包括但不限于主流RTOS内核的实现及其移植、硬件驱动移植开发、网络通讯协议开发、编译构建原理及其实现、底层汇编及编译原理、编译优化及代码重构、主流IoT云平台的对接、嵌入式IoT系统的架构设计等等。拥有多项IoT领域的发明专利,热衷于技术分享,有多年撰写技术博客的经验积累,连续多月获得RT-Thread官方技术社区原创技术博文优秀奖,荣获CSDN博客专家、CSDN物联网领域优质创作者、2021年度CSDN&RT-Thread技术社区之星、2022年RT-Thread全球技术大会讲师、RT-Thread官方嵌入式开源社区认证专家、RT-Thread 2021年度论坛之星TOP4、华为云云享专家(嵌入式物联网架构设计师)等荣誉。坚信【知识改变命运,技术改变世界】!