Domain-Name-System
在 A 記錄之上正確實施萬用字元 DNS
我需要為已經有 A 記錄的子域設置萬用字元 DNS 記錄。我不確定我是否必須為此使用新的 A 記錄,或者只能使用指向 A 記錄的 CNAME。
我的腳本具有以下域結構
http(s)://{random_code}.{location_subdomain}.{domain.com}/{path}
- {random_code} - 我們使用隨機程式碼作為針對瀏覽器實現的 HTTP 套接字限制的解決方案。(僅用於將動態元素載入到頁面上 - 因此只能通過查看網頁源來查看,而使用者瀏覽器中的 URL 僅顯示位置子域)
- {location_subdomain} - 我們從離使用者最近的伺服器載入內容,因此每個位置都有一個指向不同伺服器的 A 記錄(我們所有位置伺服器的內容是 1:1)。
- {domain.com} - 指向託管我們的索引頁面的前端伺服器
- {path} - 自我探索
目前 DNS 區域文件
domain.org. 86400 IN NS dns1.domain.org. domain.org. 86400 IN NS dns2.domain.org. domain.org. 86400 IN NS dns3.domain.org. domain.org. 86400 IN NS dns4.domain.org. domain.org. 14400 IN A 1.1.1.1 localhost 14400 IN A 127.0.0.1 www 14400 IN CNAME domain.org. ftp 14400 IN A 1.1.1.1 france 3600 IN A 2.2.2.2 phoenix 3600 IN A 3.3.3.3 nl 3600 IN A 4.4.4.4 * 14400 IN A 1.1.1.1
但是我需要為每個位置 A 記錄添加一個萬用字元,該記錄指向相同的地址。因此,例如 {randome_code}.phoenix.{domain.com} 將指向 3.3.3.3,同時仍確保 phoenix.{domain.com} 仍然指向相同的 IP。
我是否只需要為每個位置創建新的 A 記錄,同時保留非萬用字元記錄?
*.france 3600 IN A 2.2.2.2 *.phoenix 3600 IN A 3.3.3.3 *.nl 3600 IN A 4.4.4.4
我假設這將是一個額外的查找,所以我認為我可以使用 CNAME,但我不確定添加萬用字元 CNAME 記錄的正確格式,該記錄指向已創建的 A 記錄,同時仍保留原始萬用字元工作,以便任何不使用位置子域的查找仍將使用我們的前端 Web 伺服器地址得到答复。
還是我完全錯了,我可以在根域和 A 記錄上都沒有萬用字元嗎?
你有什麼:
*.france 3600 IN A 2.2.2.2
將完全按照您的預期工作;查詢
abc.france.example.com
將從萬用字元A
記錄中獲得答案,同時france.example.com
仍將從france 3600 IN A 2.2.2.2
.不需要額外的查找,因為您沒有進行額外的委派。
如果您更容易管理,您還可以使用
CNAME
:*.france 3600 IN CNAME france
A
CNAME
通常會導致額外的查找,但在這種情況下不會;被引用的記錄在同一區域中,因此您的 DNS 伺服器將響應 的“答案”CNAME
,並包括 的相關A
記錄france.example.com
。