「本文已參與好文召集令活動,點選檢視:後端、大前端雙賽道投稿,2萬元獎池等你挑戰!」
前言
昨天發了一篇 Github 部署 | CDN 加速網頁,速度嗖嗖的快!,之後覺得應該可以結束這一系列了。然而,評論裡有人說我的網頁訪問不了:
開啟一看,確實涼了。
剛開始還以為又欠費了,畢竟天天收到騰訊雲的郵件都沒仔細看。後來登上控制檯看,沒欠費呀,而且重新整理一下又好了。
思來想去,只有一種結果就是國外的 NameSilo 的 DNS 伺服器被 Block 了。
之前我也是使用騰訊雲的 DNS Pod 作為 DNS 伺服器的,只是昨天寫文章的時候換成了 NameSilo 的,想著也不會有問題,結果出了大問題。
問題
目前猜測是 NameSilo 的 DNS 伺服器被 Block 了。也就是訪問 yanhaixiang.com
的時候,DNS 會去找這個域名要匹配哪個 IP,或者 CNAME 等。
然而,瀏覽器到 DNS 伺服器這一步就被某些原因 Block 了,所以沒法解析域名,也就返回不了 html。
為了解決這個問題,可以使用騰訊雲提供的 DNS Pod 服務。
新增 DNS Pod 記錄
進入管理頁面,新增一條解析。
把之前配置的 NameSilo 的解析記錄:
全都複製一遍到 DNS Pod 上:
轉移完之後,我們就在 DNS Pod 上又有了一套 DNS 的解析了。
配置 Name Server
現在我們已經有了 NameSilo 和騰訊雲 DNS Pod 兩套解析規則了,那怎麼才能將域名和 DNS Pod 繫結呢?答案是 Name Server。
重新開啟 NameSilo,點選你的域名,會看到 NameServers 這裡有 3 個預設 DNS 伺服器的地址。
這 3 個地址是 NameSilo 預設提供的 DNS 伺服器,一般來說域名服務商都會提供的。當訪問域名時,就會通過這些伺服器來查詢對應和解析 IP 地址,然後返回 html。
現在,只要將 NameServers 的地址改成騰訊雲提供的 DNS 伺服器地址就 OK 了。
騰訊雲提供的 DNS 伺服器地址就在控制檯的頭部:
把它們放到 NameSilo 的 NameServers 裡:
Submit 之後,等一會就配置好 DNS 的解析了。
注意事項
當改成 DNS Pod 解析域名後,NameSilo 上再更新 DNS 解析的配置就會有紅色的警告,這是正常的,因為你已經用別的 Name Server 來解析了。
如果你回去看 Github 的 Github Pages 配置,會出現下面的報錯:
這是因為當 CDN 有快取了之後,直接訪問域名不會再打到 Github 了,而是直接在 CDN 上返回了,然後 Github 說:“誒,你怎麼打不到我這”。事實上,並不影響使用者訪問。
總結
最後來總結一下我們幹了什麼:
- 將 NameSilo 的 DNS 記錄 複製到騰訊雲的 DNS Pod 上
- 將 NameSilo 的 NameServers 改成騰訊雲 DNS Pod 提供的 Name Server 地址