第一次設定 Gandi 子網域

自從買了 Gandi 網域後,子網域這玩意兒就像健身房會員卡一樣:買了但一直沒用。直到最近朋友想試水溫接案,我才終於有機會動手設定人生第一個子網域。過程中不只學會怎麼設定,還意外補了一課 DNS 各種紀錄的差異,這裡就來跟大家分享我的踩坑與領悟。

Web Develop DNS 全端工程師日常 網站架設經驗談

為什麼會寫這篇?

  • 網域都買了,不用子網域總覺得對不起荷包。
  • 朋友臨時需要一個網站空間,想說先給他一個子網域練兵。
  • 設定過程中發現,DNS 紀錄種類比我想像的多,還有點繞口令,搞懂之後覺得很值得記錄。

主要探討內容

子網域設定流程

  1. 進入 Gandi 後台
    選擇我的網域,點進 DNS 紀錄區,準備大展身手。

  2. 設定 A 紀錄
    因為我要讓子網域(例如:project.mydomain.com)直接指向朋友伺服器的 IP(不是網址),所以選擇新增 A 紀錄,把子網域名稱和朋友的 IPv4 地址綁在一起。A 紀錄就是把「名字」對應到「地址」的概念,像是你叫計程車說「我要去台北101」,司機就直接載你到信義路五段7號。

  3. 朋友伺服器上的 Nginx 設定
    跟朋友確認好 IP 後,進到他伺服器,把 nginx 的 server_name 改成我的子網域,這樣流量才會正確導向。

  4. 等待 DNS 生效
    TTL 設定完後,耐心等 DNS 傳播,這段時間就像等外送,心情只能用「期待又怕受傷害」來形容。

DNS 各種紀錄的差異

剛開始看到 A、CNAME、AAAA,腦袋一片問號。後來總算搞懂:

記錄類型 功能 適用情境 必須指向
A 將網域或子網域指向 IPv4 地址 你的伺服器只有 IPv4 時 IP 位址(v4)
AAAA 將網域或子網域指向 IPv6 地址 你很潮,伺服器有 IPv6 IP 位址(v6)
CNAME 將一個名稱指向另一個名稱 多個名稱都要指向同一服務時 另一個網域名稱(不能是 IP)

小故事時間

一開始我想說「子網域要不要用 CNAME?」結果發現 CNAME 只能指向另一個名稱,不能直接指 IP,差點走錯路。這時才明白:A 是直球對決(指 IP),CNAME 是轉個彎(指名稱),AAAA 是進化版(指 IPv6)。

反轉:A vs. CNAME 的選擇

很多人會問:「既然都能指到同一個地方,為什麼不用 CNAME?」
其實如果你有一堆子網域都要指向同一台主機,CNAME 可以讓你只改一個地方就好,省事又省心。但如果你就是要直接對 IP,那 A 記錄才是王道。

不過 CNAME 不能用在根網域(像 mydomain.com),只能用在子網域(像 www.mydomain.com),這點很容易踩雷。


結論

這次幫朋友設子網域,意外補了一課 DNS 紀錄的冷知識。A 記錄適合直接對 IP,CNAME 適合名稱轉名稱,AAAA 則是 IPv6 新潮選擇。下次再有人問我 DNS 怎麼設,我應該可以不用再 Google 了(至少這禮拜還不用)。

「設定 DNS 就像點外送,選對菜單、填對地址,才不會送錯地方。」

說真的,子網域設定看起來很厲害,但實際上動手做了才發現:「欸,原來就這樣?」
有時候工程師的神秘感,其實只是多點勇氣按下『新增』那顆按鈕而已。