網域同 DNS 點運作:非開發者指南
網域就係人哋輸入嚟瀏覽你網站嘅名稱,例如 example.com;而 DNS(網域名稱系統)就係互聯網嘅通訊錄,將呢個名稱翻譯成你個網站實際所在嘅位置。你向註冊商租用網域,然後加入 DNS 紀錄,話俾電腦知「網站喺嗰度」同「電郵要送去呢度」。將自訂網域連接到 App,主要就係喺正確嘅位置加入正確嘅紀錄,然後等佢生效。
用 AI 建立時點解呢個好緊要
AI App 建立工具可以寫同託管你嘅 App,但你嘅網域喺佢之外——通常係由另一間公司管理,放喺一個全部都係陌生紀錄類型嘅控制面板入面。好多上線都係卡喺呢度:App 已經準備好,但網域顯示錯誤;或者 DNS 一改,電郵就莫名其妙停止運作。
懂少少就已經大有幫助。你會知道你嘅主機要求嘅係邊條紀錄、點解仲未生效,以及點樣避免弄壞已經依賴你網域嘅嘢(例如電郵)。
一個日常比喻
諗吓你部手機嘅聯絡人清單。
你唔使記得朋友嘅電話號碼;你撳佢嘅名字,手機就會幫你查到。DNS 對互聯網做嘅就係同一件事:你輸入 example.com,DNS 就會查出要連接嗰部伺服器嘅「號碼」(IP 位址)。
- 網域係聯絡人嘅名字。
- 註冊商係正式登記該名稱屬於你嘅公司。
- DNS 紀錄係儲存喺該名稱下面嘅詳細資料:電話號碼、電郵地址、住址。
- 名稱伺服器係邊本通訊錄係該名稱嘅正式版本。
- 快取係手機記住一個號碼一段時間。如果你朋友轉咗號碼,有啲手機會繼續撥打舊號碼,直到佢哋儲存嘅副本更新為止——呢個就係 DNS「傳播」。
網域名稱嘅各部分
以 app.example.com 為例:
| 部分 | 名稱 | 註解 |
|---|---|---|
.com | 頂級網域(TLD) | 由註冊管理局營運。其他包括 .org、.io、.ai、國家代碼如 .uk |
example | 二級網域 | 你註冊嘅部分 |
example.com | 根網域或「頂點」網域 | 你擁有嘅部分 |
app | 子網域 | 你可以喺 DNS 入面自由建立——www、app、shop |
你其實唔係真正買斷一個網域,而係註冊一段時間(通常一年或以上)並且續期。如果讓佢過期,別人就可以註冊。
DNS 查詢點運作
當有人輸入 app.example.com:
- 瀏覽器向一個 DNS 解析器查詢位址——通常由佢哋嘅網絡供應商或者公共服務運作。
- 如果解析器有新鮮嘅快取答案,就會即時回覆。
- 如果冇,佢會逐層向下查:根伺服器指向
.com伺服器,再指向你網域嘅名稱伺服器。 - 你嘅名稱伺服器返回你設定嘅紀錄,例如指向你主機嘅 CNAME,或者一個帶有 IP 位址嘅 A 紀錄。
- 解析器會按紀錄嘅 TTL(存活時間)快取答案,並交畀瀏覽器,瀏覽器然後連接到伺服器。
呢個過程通常喺幾毫秒內完成。
你實際會用到嘅 DNS 紀錄類型
| 紀錄 | 作用 | 例子 |
|---|---|---|
| A | 將名稱指向一個 IPv4 位址 | example.com → 203.0.113.10 |
| AAAA | 將名稱指向一個 IPv6 位址 | example.com → 2001:db8::10 |
| CNAME | 令一個名稱成為另一個主機名稱嘅別名 | app.example.com → myapp.host.com |
| MX | 指明邊啲伺服器接收該網域嘅電郵,並附優先序號 | example.com → 10 mail.provider.com |
| TXT | 儲存文字,用於驗證同電郵安全 | v=spf1 include:_spf.provider.com ~all |
| NS | 列出網域嘅權威名稱伺服器 | ns1.dnsprovider.com |
| CAA | 限制邊啲憑證機構可以發出 HTTPS 憑證 | 0 issue "letsencrypt.org" |
幾條值得知道嘅規則:
- CNAME 唔可以同其他紀錄共用同一個名稱。 呢個就係標準 CNAME 唔可以放喺根網域嘅原因,因為根網域一定有 NS 同其他紀錄。好多 DNS 供應商提供稱為 ALIAS、ANAME 或 CNAME 扁平化嘅變通方法。
- TXT 紀錄負責好多電郵工作。 SPF 列出邊啲人可以代表你網域發送郵件;DKIM 公開一條金鑰以驗證簽名;DMARC 則話俾收件方知道對未能通過檢查嘅郵件要點處理。
- MX 數字越細,優先次序越高。 郵件會先嘗試最細嗰個。
傳播同 TTL
「傳播」聽落好似更改會慢慢喺互聯網上擴散。實際上係快取:解析器會按每個答案嘅 TTL 保留一份副本,並且只會喺過期之後先再查詢。所以:
- 一條從未被查詢過嘅新紀錄,通常幾分鐘內就會生效。
- 更改一條現有紀錄,要等到佢舊嘅 TTL 過咗,先會喺各處都見到新嘅版本。
- 更改名稱伺服器可能要一至兩日,因為呢啲紀錄喺頂級網域層面會被快取較長時間。
一個有用嘅技巧:喺計劃更改之前,先將紀錄嘅 TTL 調低(例如幾分鐘),等舊 TTL 過咗,然後先作出更改。
實例:將預約 App 連接到你嘅網域
你擁有 yoursalon.com。你現有嘅網站同 Google Workspace 電郵都已經用緊呢個網域。你建立咗一個預約 App,並想將佢放喺 book.yoursalon.com。
- 搵出你嘅 DNS 喺邊度管理。 可能係你嘅註冊商,或者另一個 DNS 供應商。你嘅 NS 紀錄會話你知。
- 為
book加入 CNAME,指向你嘅 App 主機提供嘅目標。 - 如果主機要求,加入任何 TXT 紀錄以證明擁有權(如果佢用到)。
- 唔好郁 MX 同電郵 TXT 紀錄。 電郵會繼續運作,因為你冇郁過佢哋。
- DNS 更新之後,喺主機入面驗證。 然後主機會為
book.yoursalon.com發出 HTTPS 憑證。 - 用流動數據喺手機上測試,因為流動數據所用嘅解析器同快取,同你屋企 Wi-Fi 嘅唔同。
如果你想將 App 放喺根網域 yoursalon.com 上,你就需要 A 紀錄,或者你 DNS 供應商嘅 ALIAS/扁平化功能——而且你會將該處現有嘅網站取代掉。更多步驟請參閱如何連接自訂網域。
常見錯誤同誤解
- 「網域同託管係同一樣嘢。」 網域係名稱;託管係 App 運行嘅地方。DNS 將兩者連接起來。
- 主機要求 CNAME,你卻用咗 A 紀錄(或者相反)。要完全跟隨主機嘅指示。
- 目標打錯字。 CNAME 目標多咗一個錯誤字符,驗證就會失敗。
- 轉換名稱伺服器時冇複製紀錄。 將 DNS 轉去新供應商,但冇重新建立 MX 同 TXT 紀錄,係經典弄壞電郵嘅方法。
- 唔應該用代理時用咗代理。 有啲 DNS 供應商,例如 Cloudflare,可以代理流量。有啲主機要求紀錄設定為「僅 DNS」,咁佢哋先可以發出憑證。
- 刪除「唔認識」嘅 TXT 紀錄。 呢啲通常係某啲嘢所依賴嘅驗證或電郵安全紀錄。
- 任由網域過期。 開啟自動續期,並保持付款卡有效。
要求你嘅 AI 建立工具做咩
DNS 喺你嘅程式碼以外,所以重點係要問清楚關於咩:
- 「app.mydomain.com 需要邊條確切嘅 DNS 紀錄?類型、名稱同值分別係咩?」
- 「呢次更改會唔會影響我嘅電郵?」
- 「加咗紀錄之後網域顯示錯誤,我應該檢查咩?」
- 「加入正確嘅標準網址同重新導向,令 www 同非 www 唔會同時顯示網站。」
- 「設定用我網域發送電郵——我會需要邊條 SPF、DKIM 同 DMARC 紀錄?」參閱如何由你嘅 App 發送電郵。
Mythex 嘅自訂網域
每個已發布嘅 Mythex App 都會有一個 yourname.mythex.app 位址。喺 Pro 方案下,你可以改用自己嘅網域:喺 Mythex 入面購買一個(註冊費另外收取,而買入嘅網域嘅 DNS 會由我哋代為管理),或者連接你已經擁有嘅網域,方法係由子網域(例如 app.example.com)加入一個指向你 App 嘅 yourname.mythex.app 位址嘅 CNAME,然後撳 Verify。HTTPS 會自動發出。如果你嘅 DNS 係喺 Cloudflare,請將該紀錄設定為「僅 DNS」。建議使用子網域;根網域則視乎你 DNS 供應商有冇支援 ALIAS 或扁平化而定。自訂網域文件會逐步講解每個步驟,而 價錢頁面列出 Pro 方案包括咩內容。
常見問題
用簡單嘅說法,DNS 係咩?
DNS(網域名稱系統)係互聯網嘅通訊錄。佢將人哋容易記住嘅名稱(例如 example.com)翻譯成電腦需要嘅資料,通常係 IP 位址,令瀏覽器可以搵到正確嘅伺服器。
A 紀錄同 CNAME 有咩分別?
A 紀錄直接將一個名稱指向一個 IPv4 位址。CNAME 則將一個名稱指向另一個主機名稱,然後由嗰度繼續查找。當你嘅主機 IP 位址可能會變,CNAME 好方便;但標準 CNAME 唔可以用於根網域本身。
DNS 傳播要幾耐?
通常幾分鐘,有時幾個鐘頭。更改會隨住舊紀錄嘅快取副本過期而出現,時間視乎紀錄嘅 TTL。更改名稱伺服器可能要一至兩日,因為呢啲紀錄嘅快取時間較長。
更改網站嘅 DNS 會唔會令我嘅電郵壞咗?
只會喺你更改或刪除電郵所依賴嘅紀錄時先會。呢啲紀錄係 MX 紀錄,同埋 SPF、DKIM 同 DMARC 等 TXT 紀錄。為 www 或 app 加入 CNAME 唔會影響電郵。如果你將網域轉去新嘅名稱伺服器,而冇先將呢啲紀錄複製過去,電郵就可能會壞。
點解要用 www 或 app,而唔直接用根網域?
像 www.example.com 或 app.example.com 咁嘅子網域可以用 CNAME,好多託管平台都要求咁做。根網域(example.com)唔可以有標準 CNAME,所以要用 A 紀錄,或者供應商專有嘅 ALIAS、ANAME 或 CNAME 扁平化功能。