Wildcard (萬用字元) DNS record

最近在執行的案子有一個需求,要提供每位註冊的使用者一個專屬子網域,最後是使用 Wildcard DNS record 來達成。

一開始想透過 web 去呼叫程式來修改 DNS 上的資料,可是正式環境上的 DNS 在別台機器,這方法行不通,好在後來發現 Wildcard DNS record 可以解決我的問題。

設定

萬用字元記錄會匹配 DNS record 中不存在的網域名稱,當有人請求一個不存在的網域名稱,就會被指向萬用字元記錄所設定的地方,設定方法是將網域名稱最左邊的部分設為 * (星號),例如 *.codeplanet.me。

範例

有兩筆記錄如下

1
2
www.codeplanet.me. IN A 192.168.1.2
*.codeplanet.me. IN A 192.168.1.3

因此當我們開啟 www.codeplanet.me 時會指向 192.168.1.2,
開啟其它沒指定的網域名稱(例如 a.codeplanet.me, b.codeplanet.me)則會指向 192.168.1.3。

Reference

Wildcard DNS record
http://en.wikipedia.org/wiki/Wildcard_DNS_record