Domain-Name-System
以萬用字元開頭的子域
我想在 IIS 10 和 GoDaddy DNS 伺服器上實現這種行為。
我有三台伺服器處理三個應用程序,前兩個工作正常,但第三個有問題:
- 所有
www.example.com
和non-www.example.com
流量都轉到一台伺服器。- 一切
api.example.com
都交給另一個人。- 全部
s*.example.com
轉到第三台伺服器(僅以字母開頭的子域S
)考慮到明天我可能會有
api2.mydomain.com
等。謝謝!
DNS 萬用字元是二進制的:它是全部或全部,您不能只匹配標籤的某些部分,例如您的
s*.example.com
. 這是協議的一部分,因此無論您使用什麼軟體,它都不起作用$$ 1 $$ 請參閱RFC4592及其第 2.1.1 節:
“萬用字元域名”是通過將其初始(即最左邊或最不重要)標籤以二進制格式定義的:
0000 0001 0010 1010 (binary) = 0x01 0x2a (hexadecimal)
第一個八位字節是 1 個八位字節標籤的正常標籤類型和長度,第二個八位字節是 ASCII 表示
$$ RFC 20 $$ 對於“*”字元。
所以如果你想做這樣的事情,你需要設置一個萬用字元,然後在你的網路伺服器中處理應用程序級別的所有請求。
請記住,萬用字元雖然看起來很有吸引力,但可能會產生復雜的問題,對於 CNAME 記錄更是如此。區域文件通常是文本文件,因此很容易自動創建它們並在其中放入任意數量的記錄,而不是使用萬用字元。
$$ 1 $$:當然,除了一個高度特定的伺服器,您可以在其中插入一個特定的後端,該後端會按照您需要的方式對標籤進行操作。