域名解析失敗?可能並不是

        最近入手了阿里的雲服務器,因爲之前使用的是 hexo 博客框架 (也就是現在這個博客),並且部署在了 github page 上,所以只是在阿里雲買了一個比較心儀的域名 dancingcode.cn,但是現在突然想整個個人服務器玩一玩,於是前幾天就又同時在阿里雲入手了 ECS 和一個比較便宜一點的域名: codedancer.online,由於之前綁定的 github page 的域名是 .cn 的,自己覺得比較高檔一點,所以就打算將這個兩個域名的解析更換一下,但是中間出了一點小插曲…

首先我把之前 dancingcode.cn 解析到 github page 的記錄刪除,方法很簡單就是在阿里雲的控制檯操作即可(刪除記錄):

然後記得之前還在 github pageusername.github.io 的倉庫中中還設置過域名,然後再改過來即可:

這樣就算是更改完了,然後再把自己新買的域名,就是現在的 codedancer.online 綁定到 github page 的地址。再將 dancingcode.cn 綁定到自己新買的服務器上。可真的是挺折騰的,不過其實並不麻煩。

本以爲一切都是那麼的優雅,一切都是那麼完美,但是在我在我使用域名 dancingcode.cn 試圖訪問個人服務器的時候出現了問題,無法訪問 !!!。 so what happend? 當時我的第一反應就是服務器內部的個人網站沒有添加域名,於是我就去寶塔面板下查看站點設置:

由上圖可知域名已經添加過了,而且已經解析過了,應該不是站點的問題。所以我就想看是不是域名沒有解析成功呢?於是來到了 cmd 看一下是不是解析成功:

通過 ping 命令看到是通的,而且返回的是自己服務器地址,這就真的難受了。然後又回到了阿里雲的控制檯頁面,查看 80 端口( http 服務端口)是否已經打開,查看結果顯然是已經打開:

於是就又嘗試了幾次,突然發現使用 www 前綴可以訪問,即 www.dancincgcode.cn 可以,但是使用主域名 dancingcode.cn (不加前綴) 是無法訪問的,所以肯定是有地方沒有設置成功。於是我又來到了控制檯查看域名的解析:

可以看到主域名和 www 前綴都已經解析到了服務器,難道是沒有刷新?因爲默認設置的刷新時間 TTL10 分鐘,所以我又等了 10 分鐘後重試,還是不行。

最後實在不行了就去谷歌了一下,谷歌出來的都是阿里雲的官方文檔,不得不說阿里雲的官方文檔是真的詳細,從理論到方法都有詳細的講解,直到我看到了這一篇文章 ( 分析域名解析不生效的原因 ):

所以主要的原因是終端緩存域名服務器的緩存沒有遵循特定的時間 ( TTL 時間 )進行刷新,所以域名解析還未生效。

作爲一個從通信出身的彩筆來說,對上述的說明隱隱約約大概明白。所以冥冥之中就有了一個想法,我既然不能刷新 DNS 服務器 (這是上層的事),是不是因爲我自己的終端沒有刷新 DNS 緩存呢?要不要試一試,反正也沒什麼好的方法。

說幹就幹,於是搜索 如何刷新DNS緩存?,在 windows 下只要一條命令即可:

$ ipconfig/flushdns


刷新完成後又試了一下還是不行,我裂開了…

後來突發奇想,既然是緩存,那麼瀏覽器的緩存是不是也需要清除一下 ( 想到這個的原因是每次輸入域名都會有提示,說明還有緩存或者歷史記錄沒有清除 ),所以乾脆就把所有的瀏覽器的所有的 cookie歷史記錄 等等都清除了:

然後又試了一下,發現已經成功了。至此,就這樣成功了…??? 很迷但回頭想想確實是有道理。

總結:

其實域名的解析和網站都沒有問題 (一般 ISP 的服務質量是很好的),域名服務器的緩存刷新也沒有問題,只是自己的終端上的或者更確切的說是瀏覽器的緩存沒有清除。所以如果有小夥伴遇到這樣的問題,試着刷新自己的緩存即可。

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