【問題解決】利用 CNAME 驗證網路服務,但卻無法驗證成功

前些日子,幫人解決一個關於 DNS 設定的問題,其實難度不高,但有時若不小心疏乎了小細節,那麼最終的結果就會天差地遠了。

有時,我們若擁有網域名,但可能網域名是用來與其他服務做結合,例如:Google Apps、Google Search Console、Bing 網站管理工具……等。

這些服務通常會要求申請者,先驗證網域名的擁有權,確認有擁有權之後,才能開始使用服務。多數情況,都可以利用 CNAME 進行驗證,而驗證的方式則是回到 DNS 代管服務商那裡,新增一筆 CNAME 記錄,並將 CNAME 記錄指向特定的伺服器。首先假設我要使用 Google Search Console 的服務,當我在 Google Search Console 加入一個網址(例如:testweb.wawajohn.net)後,Google 會要求我驗證網域名的擁有權,而且可以使用 CNAME 記錄做驗證。

所以,Google 會給我像這樣的資訊:

CNAME 標籤 / 主機:xn7inc5vyjo4.testweb.wawajohn.net.
CNAME 目的地 / 目標:gv-tzwircbwa3trou.dv.googlehosted.com

獲得 Google 所給的資料後,我就要回到我的 DNS 那邊新增一筆 CNAME

不過,各家 DNS 的設定不盡相同,又因為我所提供的 testweb.wawajohn.net,其中的 testweb 屬於 CNAME 記錄,而非一般的 A 記錄。

所以,我在設定時,我先新增一筆 CNAME,CNAME 的 HOST(即主機),我就要設定為:

xn7inc5vyjo4.testweb

然後,把這筆 CNAME 指向到

gv-tzwircbwa3trou.dv.googlehosted.com

設定成功之後,正常來講,去查詢 xn7inc5vyjo4.testweb.wawajohn.net 的 DNS 記錄

應該會得到 gv-tzwircbwa3trou.dv.googlehosted.com 這個目標主機

但這人的情況,很特別,依照我的指示,得到的目標主機,一直都不正確。

後來我再建議,把原本的目標主機

gv-tzwircbwa3trou.dv.googlehosted.com

再改為

gv-tzwircbwa3trou.dv.googlehosted.com.

沒想到,這樣子設定之後,一切就正常運作了。

而細節,就只是差在目標主機最後的小數點「.

至於最後的小數點,該不該加,其實很難講,以我的 DNS 代管,我不需要加,但有些 DNS 代管,則必須要加。結論是,要看 DNS 代管的網頁設定方式。

至於要怎麼確認我們的設定是不是正確,如果會下 Command 的人,可以用 nslookup 指令查詢,如果不熟,或者懶得敲字的人,則可以利用下面這個線上工具查詢

http://www.kloth.net/services/nslookup.php

大致用法如下:

  1. 網頁裡有三個欄位,第一欄的 Domain,就打入一開始 Google 給的資料中的第一項「CNAME 標籤 / 主機」的資訊,可包含最後的小數點
  2. 第二欄的 Server 不用動
  3. 第三欄的 Query 選擇「CNAME」,再按下「Look it up」

最後,會顯示結果,它們會長得像這樣

xn7inc5vyjo4.testweb.wawajohn.net canonical name = gv-tzwircbwa3trou.dv.googlehosted.com.

如果等號「=」後面的值,與 Google 所給的第二項資訊不同,那麼代表我們的設定是有問題的。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Google reCAPTCHA 保護機制,這項服務遵循 Google 隱私權政策服務條款