本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
DNS 網域名稱格式
網域名稱 (包括網域、託管區域和記錄的名稱) 是由一系列以點分隔的標籤所組成。每個標籤長度最多可達 63 個位元組。網域名稱的總長度不能超過 255 個位元組 (包括點)。Amazon Route 53 支援任何有效的網域名稱。
命名需求取決於您是註冊網域名稱還是指定託管區域或記錄的名稱。請參閱適用的主題。
為網域名稱註冊設定網域名稱的格式
對於網域名稱註冊,網域名稱只能包含 a-z、0-9 和 – (連字號)。不能在標籤開頭或結尾指定連字號。
如需有關如何註冊國際化網域名稱 (IDN) 的詳細資訊,請參閱設定國際化網域名稱的格式。
為託管區域和記錄設定網域名稱的格式
對於託管區域和記錄,網域名稱可以包含下列任何可列印的 ASCII 字元 (不含空格):
a-z
0-9
- (連字號)
! " # $ % & ' ( ) * + , - / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ .
Amazon Route 53 會將字母字元儲存為小寫字母 (a-z),不論儲存時指定為大寫、小寫字母或逸出碼中的對應字母。
如果您的網域名稱包含下列任何字元,則必須使用 \三位數八進位碼
格式的逸出碼來指定字元:
八進位字元 000 到 040 (0 至 32 十進位,0x00 到 0x20 十六進位)
八進位字元 177 到 377 (127 至 255 十進位,0x7F 到 0xFF 十六進位)
. (句號),八進位字元 056 (十進位 46、十六進位 0x2E),當在網域名稱中用做字元時。使用 . 做為標籤之間的分隔符號時,則不需要使用逸出碼。
如果網域名稱包含 z、0-9、- (連字號) 或 _ (底線) 以外的任何字元,Route 53 API 動作會將這些字元當做逸出碼傳回。無論您在建立實體時將字元指定為字元或逸出碼,都是如此。Route 53 主控台會將字元顯示為字元,而不顯示為逸出碼。
如需對應八進位碼的 ASCII 字元清單,請在網際網路上搜尋「ascii 表格」。
若要指定國際化網域名稱 (IDN),請將名稱轉換為 Punycode。如需更多詳細資訊,請參閱 設定國際化網域名稱的格式。
在託管區域和記錄的名稱中使用星號 (*)
您可以建立名稱中包含 * 的託管區域和記錄。
託管區域
網域名稱最左邊的標籤中不可包含 *。例如,不允許 *. example.com。
如果您在其他位置包含 *,DNS 會將它視為 * 字元 (ASCII 42),而不是萬用字元。
記錄
DNS 會根據 * 字元出現在名稱中的位置,將其視為萬用字元或 * 字元 (ASCII 42)。請注意下列在記錄名稱中使用 * 做為萬用字元的限制:
* 必須取代網域名稱最左邊的標籤,例如 *. example.com 或 *.acme.example.com。如果您在任何其他位置包含 * (例如 prod.*.example.com),則 DNS 會將其視為 * 字元 (ASCII 42),而不是萬用字元。
* 必須取代整個標籤。例如,您無法指定 *prod.example.com 或 prod*.example.com。
特定網域名稱具有高優先順序。例如,如果您建立 *. example.com 和 acme.example.com 的記錄,Route 53 一律會使用 acme.example.com 記錄中的值,回應 acme.example.com 的 DNS 查詢。
* 適用於包含星號之子網域層級的 DNS 查詢,以及該子網域的所有子網域。例如,如果您建立名為 *.example.com 的記錄,Route 53 會使用該記錄中的值,以回應 zenith.example.com、acme.zenith.example.com 和 pinnacle.acme.zenith.example.com 的 DNS 查詢 (如果該託管區域沒有任何類型的記錄)。
如果您建立名為 *.example.com 的記錄,且 example.com 記錄不存在,Route 53 會以
NXDOMAIN
(不存在的網域) 回應 example.com 的 DNS 查詢。針對同一層級所有子網域和網域名稱,您可以將 Route 53 設定為對 DNS 查詢傳回相同的回應。例如,您可以使用 example.com 記錄,將 Route 53 設定為回應 acme.example.com 和 zenith.example.com 等 DNS 查詢。執行以下步驟:
建立網域的記錄,例如 example.com。
建立子網域的別名記錄,例如 *.example.com。指定您在步驟 1 建立的記錄,做為別名記錄的目標。
* 不可用做 NS 類型之記錄的萬用字元。
設定國際化網域名稱的格式
當您註冊新的網域名稱或建立託管區域和記錄,您可以指定 a-z 之外的字母 (例如法語中的 ç)、其他字母 (例如斯拉夫字母或阿拉伯字母) 中的字元,以及中文、日文或韓文等語言中的字元。Amazon Route 53 會用 Punycode 儲存這些國際化網域名稱 (IDN) (將 Unicode 字元轉換為 ASCII 字串表示)。
如果您要註冊網域名稱,請注意下列事項:
只有在頂層網域 (TLD) 支援 IDN 並支援您要使用的語言時,才能使用 a-z、0-9 和 - (連字號) 以外的字元。若要判斷 TLD 支援哪些語言,請參閱可向 Amazon Route 53 註冊的域。
如果名稱址包含字母 a-z,您可以指定不支援語言的名稱。例如,如果 TLD 不支援法文,但您要使用的名稱只包含 a-z 的字母 (而沒有變音符號),您仍可使用該名稱。在此範例中,可允許包含 "c" 的名稱,不允許包含 "ç" 的名稱。
如果 TLD 不支援 IDN 或不支援您要用於網域名稱的語言,您也無法以 Punycode 指定名稱,即使 Punycode 只包含 a-z、0-9 和 - 亦然。
以下範例顯示國際化網域名稱「中国.asia」的 Punycode 表示:
xn--fiqs8s.asia
當您在現代瀏覽器的網址列中輸入 IDN,瀏覽器會先將它轉換為 Punycode,然後提交 DNS 查詢或提出 HTTP 請求。
如何輸入 IDN 取決於您要建立的內容 (網域名稱、託管區域或記錄),以及建立方式 (API、開發套件或 Route 53 主控台):
如果您使用 Route 53 API 或其中一個 AWS 開發套件,可以透過程式設計方式將 Unicode 值轉換為 Punycode。例如,如果您使用 Java,可以透過使用 java.net.IDN 程式庫的 toASCII 方法,將 Unicode 值轉換為 Punycode。
如果您使用 Route 53 主控台註冊網域名稱,可以將名稱 (包括 Unicode 字元) 貼至名稱欄位,然後主控台會先將值轉換為 Punycode,再進行儲存。
如果您使用 Route 53 主控台來建立託管區域或記錄,需要先將網域名稱轉換為 Punycode,然後在適用的 Name (名稱) 欄位中輸入名稱。如需線上轉換器的詳細資訊,請在網際網路上搜尋「punycode 轉換器」。
如果您要註冊網域名稱,請注意並非所有頂層網域 (TLD) 都支援 IDN。如需 Route 53 支援的 TLD 清單,請參閱 可向 Amazon Route 53 註冊的域。已記錄不支援 IDN 的 TLD。