我的一位客戶將他們的網站重新定位到一個批量託管帳戶。 他們更新了A和CNAME記錄的域的DNS設置,但是很難確定站點是否使用新的託管帳戶(新的IP地址)進行解析。
對DNS進行故障排除時,需要牢記一些注意事項。 了解DNS的工作原理,了解域註冊器的工作原理,然後了解主機如何管理其域條目。
DNS如何運作
在瀏覽器中鍵入域時:
- 在Internet中查找域 名稱服務器 查找應將請求發送到的位置。
- 如果是網絡域請求(http),則名稱服務器將 將IP地址返回到您的計算機.
- 然後,您的計算機將其存儲在本地,稱為 DNS高速緩存.
- 該請求被發送到主機,該主機路由該請求 內部 並展示您的網站。
您的域名註冊商的工作方式
關於這一點的說明……並非每個域註冊商實際上都管理您的 DNS。 例如,我有一個客戶通過 Yahoo! 註冊他們的域。 雅虎! 儘管在他們的管理中出現了域,但實際上並不管理域。 他們只是經銷商 Tucows的。 因此,當您在Yahoo!中更改DNS設置時,可能要花幾個小時才能真正更改這些更改。 實 域名註冊商。
當您的DNS設置確實得到更新時,它們就會在Internet上的一系列服務器中傳播。 在大多數情況下,這實際上只需幾秒鐘即可完成。 這是人們願意付款的原因之一 託管DNS。 託管DNS公司通常既具有冗餘性又具有難以置信的快……通常比您的域註冊商快。
Internet服務器更新後,系統下次發送DNS請求時,將返回託管站點的IP地址。 備註: 請記住,我說的是您的系統下次發出請求時。 如果您以前請求該域,則Internet可能是最新的,但您的本地系統可能正在根據DNS緩存解析舊的IP地址。
您的主機DNS的工作方式
本地系統返回並緩存的IP地址通常不是單個網站唯一的。 主機可能在單個IP地址(通常是服務器或虛擬服務器)上託管數十個甚至數百個網站。 因此,當從IP地址請求您的域時,主機會將您的請求轉發到服務器中的特定文件夾位置,並顯示您的頁面。
如何對DNS進行故障排除
因為這裡有三個系統,所以也有三個系統要進行故障排除! 首先,您只需要檢查本地系統以查看IP地址在系統中指向的位置:
通過打開“終端”窗口並鍵入以下命令,可以輕鬆完成此操作:
ping域.com
或者,您實際上可以執行特定的名稱服務器查找:
nslookup 域名.com
如果您已經更新了域名註冊機構中的DNS設置,則將要確保清除了DNS緩存,然後再次提出請求。 要在OSX中清除DNS緩存,請執行以下操作:
須藤dnscacheutil -flushcache
您可以重試 平 or NSLOOKUP 查看域此時是否解析為新的IP地址。
下一步將是查看Internet DNS服務器是否已更新。 保持 DNS資料 為此,您可以通過他們的平台獲得完整的DNS報告,這非常好。 飛輪 他們平台上有一個很棒的DNS檢查器,可以查詢 谷歌, OpenDNS的, 互聯網,並探測網絡以查看您的設置是否已在網絡上正確傳播。
如果您在網絡上看到正確顯示的 IP 地址,但您的站點仍未顯示,您還可以繞過 Internet 的服務器並告訴您的系統將請求直接發送到 IP 地址。 您可以通過更新您的主機文件和刷新您的 DNS 來完成此操作。 為此,請打開終端並鍵入:
sudo nano / etc / hosts
輸入系統密碼,然後按Enter。 這將直接在終端中調出文件進行編輯。 使用箭頭移動光標,並在新行中添加IP地址和域名。
要保存文件,請按 控制-o 在鍵盤上,然後返回以接受文件名。 按退出編輯器 控制x,這將使您返回命令行。 不要忘記刷新緩存。 如果該站點無法正常運行,則可能是您的主機本地存在的問題,您應該與他們聯繫並告知他們。
最後說明...不要忘記將主機文件恢復為原始版本。 您不想在其中留下要自動更新的條目!
通過執行以下步驟,我能夠驗證我的註冊服務商中的DNS條目是最新的,Internet上的DNS條目是最新的,我的Mac的DNS緩存是最新的以及網絡主機的DNS是最新的迄今為止……很好!