網站時好時壞並且出現找不到伺服器 IP 位址的分析方法

Network

上週小編在公司不是因為新服務上線遇到了 AWS ELB STICKY SESSIONS 的問題嗎?
結果在最近測試系統又遇到了問題了 QQ … (這服務上線怎麼這麼坎坷 …)

先來跟大家說說遇到了什麼問題,
首先是打開網頁的時候 “有機會” 出現如下畫面,
有時候又正常

如上圖,小編以一個一定錯誤的網站來舉例子。

這時候就覺得很奇怪,為什麼有時候正常有時候失敗,看系統的 Log 又沒有什麼異樣,就想到這個系統是使用客戶的 DNS Server,因此可能是 DNS Server 有問題,我的習慣我會先查詢一下 DNS 的狀態,以下以小編的 Blog 為例子 (現在應該是正常的拉!),模擬操作兩次卻拿到不依樣的結果,而且回應的 A 紀錄是空的:

這時候小編就覺得這個地方有問題,就去找這個 Domain 的 NS Server 位置,查詢的方法如:

由上可以看到小編的 NS Server 為:graham.ns.cloudflare.com 與 ulla.ns.cloudflare.com,通常來說都會有兩台以上的 NS Server,如果是自己架設的 DNS Server 可能就會是 ns1.domain.com 與 ns2.domain.com 是比較常見的架構,剛好小編遇到的客戶就是這種命名方法。

如 Google 的 DNS 位置就是以這種方法命名

這時候我們拿到了 NS Server 的位置後就可以直接去問他的 DNS Server 我們剛剛查詢不正常的 Domain 是發生什麼事情了,分為對兩台 DNS Server 發送我們目標 Domain 的請求,如下為請求方法:

由上可以看出我們用它的第二台 NS Server 問到的結果不如預期,因此可以猜測問題可能是 NS Server 不同步所以造成網站時好時壞。

以上只是以小編在公司發生網站時好時壞,並且瀏覽器又出現 “找不到伺服器 IP 位址” 情況的一個例子,小編當時花了點時間尋找這個問題的原因,所以就寫一篇 Blog 紀錄一下拉 ~