【最新】解決Github網頁上圖片顯示失敗的問題


好幾個星期之前本人就發現自己的github在網頁打開顯示不了圖片的問題了,不過當時沒在意。

今天強迫症逼迫我一定要搞定它,於是去找了一些方法,自己做個記錄,有相同問題的夥伴可以參考一下。

一、問題

比如隨便打開一個項目,圖片都不能顯示了,我頭像也沒了,真是一個令人傷心的事
在這裏插入圖片描述
F12打開控制檯看一哈
在這裏插入圖片描述
呦,一堆紅色×。主要報錯是Failed to load resource: net::ERR_CERT_COMMON_NAME_INVALID

去查了一下,博主john-zeng這樣解釋道:

實際上,可以認爲,ERR_CERT_COMMON_NAME_INVALID就是用一個錯誤的域名訪問了某個節點的https資源。導致這個錯誤的原因,基本是:

  1. dns污染
  2. host設置錯誤
  3. 官方更新了dns,但是dns緩存沒有被更新,導致錯誤解析。

我覺得像是有點道理,解決方法就粗來了,hin簡單,往下看。

二、解決方法

主要思路就是使用本地hosts文件對網站進行域名解析,一般的DNS問題都可以通過修改hosts文件來解決,githubCDN域名被污染問題也不例外,同樣可以通過修改hosts文件解決,將域名解析直接指向IP地址來繞過DNS的解析,以此解決污染問題。

2.1 找到URL

打開github任意未顯示圖片的網頁,使用元素選擇器(Ctrl+Shift+C)放在顯示不了的圖片上,或者在無法顯示的圖片上右鍵-檢查元素,定位到該圖片的標籤,那麼你得到了它的URL,叫做src屬性。

比如介個在這裏插入圖片描述
在右面把它的網址複製粗來:

https://avatars2.githubusercontent.com/u/15832957?s=60&v=4

2.2 獲取IP地址

得到上述網址以後打開IPAddress.com這個網站,在搜索框輸入它的域名,就是https://com那一部分,俗稱二級域名:

avatars2.githubusercontent.com
在這裏插入圖片描述
回車!!!下面你會看到該域名的信息和IP地址:
在這裏插入圖片描述
可以看出IP是:151.101.184.133,並且是2019.05.05最後更新的,alright,那麼我們就可以使這個IP域名映射起來。

(其他如果有掛掉的圖片一樣使用此方法進行一一映射即可。)

2.3 修改hosts

具體咋映射呢?修改hosts文件!!!本人使用的是windows系統,所以使用Sublime Text打開:C:\Windows\System32\drivers\etc\hosts

在文件末尾添加:
在這裏插入圖片描述

可以直接選中以下內容複製粘貼,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文件複製一份,修改之後,複製到原文件夾替換!

三、最後說幾句

還可以使用ipconfig/flush對本地DNS緩存進行一次刷新,如果遇到網絡異常,可能是DNS緩存的問題,刷新一下,步驟。

  1. windows開始→運行→輸入:CMD 按回車鍵,打開命令提示符窗口。
  2. 再輸入: ipconfig /flushdns 回車,執行命令,可以重建本地DNS緩存。

再附上幾個命令:

ipconfig /displaydns # 顯示dns緩存 

ipconfig /flushdns # 刷新DNS記錄 

ipconfig /renew # 重請從DHCP服務器獲得IP 

PS:另外要注意的一點就是,如果圖片再次不能顯示,只需要及時更新IP就行啦,這波操作不麻煩,你看我頭像回來了!!!
JevenM
JevenM-lixian
哈哈哈,沒錯,是李現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章