

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 支持的 DNS 记录类型
<a name="ResourceRecordTypes"></a>

Amazon Route 53 支持本节中列出的 DNS 记录类型。每个记录类型还包括当您使用 API 访问 Route 53 时如何设置 `Value` 元素格式的示例。

**注意**  
对于包含域名的记录类型，请输入一个完全限定域名，例如 *www.example.com*。结尾圆点是可选的；Route 53 会假定该域名是完全限定的。这意味着，Route 53 会将 *www.example.com*（不包含结尾圆点）和 *www.example.com.*（包含结尾圆点）视为相同。

Route 53 为 DNS 功能提供了一个名为别名记录的扩展。与 CNAME 记录类似，别名记录允许您将流量路由到所选 Amazon 资源，如 CloudFront 分配和 Amazon S3 存储桶。有关更多信息，包括别名记录和 CNAME 记录的比较，请参阅[在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**Topics**
+ [A 记录类型](#AFormat)
+ [AAAA 记录类型](#AAAAFormat)
+ [CAA 记录类型](#CAAFormat)
+ [CNAME 记录类型](#CNAMEFormat)
+ [DS 记录类型](#DSFormat)
+ [HTTPS 记录类型](#HTTPSFormat)
+ [MX 记录类型](#MXFormat)
+ [NAPTR 记录类型](#NAPTRFormat)
+ [NS 记录类型](#NSFormat)
+ [PTR 记录类型](#PTRFormat)
+ [SOA 记录类型](#SOAFormat)
+ [SPF 记录类型](#SPFFormat)
+ [SRV 记录类型](#SRVFormat)
+ [SSHFP 记录类型](#SSHFPFormat)
+ [SVCB 记录类型](#SVCBFormat)
+ [TLSA 记录类型](#TLSAFormat)
+ [TXT 记录类型](#TXTFormat)

## A 记录类型
<a name="AFormat"></a>

使用 A 记录将流量路由到资源（如 Web 服务器），并使用圆点分隔的十进制格式表示的 IPv4 地址。

**Amazon Route 53 控制台示例**

```
192.0.2.1
```

**Route 53 API 示例**

```
<Value>192.0.2.1</Value>
```

## AAAA 记录类型
<a name="AAAAFormat"></a>

使用 AAAA 记录将流量路由到资源（如 Web 服务器），并使用圆点分隔的十六进制格式表示的 IPv6 地址。

**Amazon Route 53 控制台示例**

```
2001:0db8:85a3:0:0:8a2e:0370:7334
```

**Route 53 API 示例**

```
<Value>2001:0db8:85a3:0:0:8a2e:0370:7334</Value>
```

## CAA 记录类型
<a name="CAAFormat"></a>

CAA 记录指定允许哪些证书颁发机构 (CA) 为域或子域颁发证书。创建 CAA 记录有助于防止错误的 CA 为您的域颁发证书。CAA 记录不能替代由您的证书颁发机构指定的安全要求，例如验证您是域所有者的要求。

您可以使用 CAA 记录指定以下内容：
+ 哪些证书颁发机构 (CA) 可以签发 SSL/TLS 证书 (如果有)
+ CA 为域或子域签发证书时要联系的电子邮件地址或 URL

当您将 CAA 记录添加到托管区域时，您可以指定由空格分隔的三个设置：

`flags tag "value"`

请注意有关 CAA 记录的格式的以下事项：
+ `tag` 的值只能包含字符 A-Z、a-z 和 0-9。
+ 始终用引号 ("") 将 `value` 引起来。
+ 一些 CA 允许或需要 `value`。以名称-值对的形式指定其他值，并以分号 (; ) 分隔，例如：

  `0 issue "ca.example.net; account=123456"`
+ 如果某个 CA 接收了对某个子域 (如 www.example.com) 的证书的请求并且该子域没有 CAA 记录，则该 CA 将提交对父域 (如 example.com) 的 CAA 记录的 DNS 查询。如果父域的记录存在，并且证书请求有效，则 CA 会为子域颁发证书。
+ 我们建议您咨询您的 CA 来确定要为 CAA 记录指定的值。
+ 您不能创建名称相同的 CAA 记录和 CNAME 记录，因为 DNS 不允许 CNAME 记录和任何其他类型的记录使用相同的名称。

**Topics**
+ [授权 CA 为域或子域颁发证书](#CAAFormat-issue)
+ [授权 CA 为域或子域颁发通配符证书](#CAAFormat-issue-wild)
+ [阻止任何 CA 为域或子域颁发证书](#CAAFormat-prevent-issue)
+ [请求任何 CA 在收到无效的证书请求时联系您](#CAAFormat-contact)
+ [使用 CA 支持的另一个设置](#CAAFormat-custom-setting)
+ [示例](#CAAFormat-examples)

### 授权 CA 为域或子域颁发证书
<a name="CAAFormat-issue"></a>

要授权 CA 为域或子域颁发证书，请创建一条与域或子域同名的记录，并指定以下设置：
+ **标签** - `0`
+ **标签** - `issue`
+ **值** - 您授权为域或子域颁发证书的 CA 的代码

例如，假设您要授权 ca.example.net 为 example.com 颁发证书。您为 example.com 创建了一条具有以下设置的 CAA 记录：

```
0 issue "ca.example.net"
```

有关如何授权 Amazon Certificate Manager 颁发证书的信息，请参阅 *Amazon Certificate Manager 用户指南*中的[配置 CAA 记录](https://docs.amazonaws.cn/acm/latest/userguide/setup-caa.html)。

### 授权 CA 为域或子域颁发通配符证书
<a name="CAAFormat-issue-wild"></a>

要授权 CA 为域或子域颁发通配符证书，请创建一条与域或子域同名的记录，并指定以下设置。通配符证书适用于该域或子域及其所有子域。
+ **标签** - `0`
+ **标签** - `issuewild`
+ **值** - 您授权为域或子域以及它们的子域颁发证书的 CA 的代码

例如，假设您要授权 ca.example.net 为 example.com 颁发通配符证书 (适用于 example.com 及其所有子域)。您为 example.com 创建了一条具有以下设置的 CAA 记录：

```
0 issuewild "ca.example.net"
```

当您要授权 CA 为域或子域颁发通配符证书时，请创建一条与域或子域同名的记录，并指定以下设置。通配符证书适用于该域或子域及其所有子域。

### 阻止任何 CA 为域或子域颁发证书
<a name="CAAFormat-prevent-issue"></a>

要阻止任何 CA 为域或子域颁发通配符证书，请创建一条与域或子域同名的记录，并指定以下设置：
+ **标签** - `0`
+ **标签** - `issue`
+ **值** – `";"`

例如，假设您不希望任何 CA 为 example.com 颁发证书。您为 example.com 创建了一条具有以下设置的 CAA 记录：

`0 issue ";"`

如果您不希望任何 CA 为 example.com 或其子域颁发证书，则可以为 example.com 创建一条具有以下设置的 CAA 记录：

`0 issuewild ";"`

**注意**  
如果您为 example.com 创建了 CAA 记录并指定了以下两个值，使用值 ca.example.net 的 CA 可以为 example.com 颁发证书：  

```
0 issue ";"
0 issue "ca.example.net"
```

### 请求任何 CA 在收到无效的证书请求时联系您
<a name="CAAFormat-contact"></a>

如果您希望收到对证书的无效请求的任何 CA 联系您，请指定以下设置：
+ **标签** - `0`
+ **标签** - `iodef`
+ **值** - 您希望 CA 在收到无效的证书请求时通知的 URL 或电子邮件地址。使用适用的格式：

  `"mailto:{{email-address}}"`

  `"http://{{URL}}"`

  `"https://{{URL}}"`

例如，如果您希望收到对证书的无效请求的任何 CA 向 admin@example.com 发送电子邮件，则可以创建一条具有以下设置的 CAA 记录：

```
0 iodef "mailto:admin@example.com"
```

### 使用 CA 支持的另一个设置
<a name="CAAFormat-custom-setting"></a>

如果您的 CA 支持未在 CAA 记录的 RFC 中定义的功能，请指定以下设置：
+ **标记** - 128（如果 CA 不支持指定的功能，此值会阻止 CA 颁发证书。）
+ **标签** - 您授权 CA 使用的标签
+ **值** - 与标签的值对应的值

例如，假设您的 CA 在收到无效的证书请求时支持发送文本消息。(我们不了解支持此选项的任何 CA。) 记录的设置可能如下所示：

```
128 exampletag "15555551212"
```

### 示例
<a name="CAAFormat-examples"></a>

**Route 53 控制台示例**

```
0 issue "ca.example.net"
0 iodef "mailto:admin@example.com"
```

**Route 53 API 示例**

```
<ResourceRecord>
   <Value>0 issue "ca.example.net"</Value>
   <Value>0 iodef "mailto:admin@example.com"</Value>
</ResourceRecord>
```

## CNAME 记录类型
<a name="CNAMEFormat"></a>

别名记录将当前记录的名称（例如 acme.example.com）的 DNS 查询映射到另一个域（example.com 或 example.net）或子域（acme.example.com 或 zenith.example.org）。

**重要**  
DNS 协议不允许您为 DNS 命名空间的顶端节点（也称为区域顶点）创建别名记录 (CNAME)。例如，如果您注册了 DNS 名称 example.com，则顶级域名为 example.com。您不能为 example.com 创建 CNAME 记录，但可以为 www.example.com、newproduct.example.com 等创建 CNAME 记录。  
此外，如果您为某个子域创建 CNAME 记录，则不能为该子域创建任何其他记录。例如，如果您为 www.example.com 创建别名记录，则不能创建其 **Name (名称)** 字段的值为 www.example.com 的任何其他记录。

Amazon Route 53 还支持别名记录，这使得您可以将查询路由到所选 Amazon 资源，例如 CloudFront 分配和 Amazon S3 存储桶。别名在某些方面与 CNAME 记录类型类似；不过，您可以为顶级域名创建一个别名。有关更多信息，请参阅 [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**Route 53 控制台示例**

```
hostname.example.com
```

**Route 53 API 示例**

```
<Value>hostname.example.com</Value>
```

## DS 记录类型
<a name="DSFormat"></a>

委派签名者 (DS) 记录引用委派子域区域的区域密钥。如果您在配置 DNSSEC 签名时建立信任链，您可能会创建 DS 记录。有关在 Route 53 中配置 DNSSEC 的更多信息，请参阅 [在 Amazon Route 53 中配置 DNSSEC 签名](dns-configuring-dnssec.md)。

前三个值是表示密钥标签、算法和摘要类型的十进制数。第四个值是区域密钥的摘要。有关 DS 记录格式的更多信息，请参阅 [RFC 4034](https://www.ietf.org/rfc/rfc4034.txt)。

**Route 53 控制台示例**

```
123 4 5 1234567890abcdef1234567890absdef
```

**Route 53 API 示例**

```
<Value>123 4 5 1234567890abcdef1234567890absdef</Value>
```

## HTTPS 记录类型
<a name="HTTPSFormat"></a>

HTTPS 资源记录是服务绑定（SVCB）DNS 记录的一种形式，它提供扩展的配置信息，使客户端能够通过 HTTP 协议轻松安全地连接到服务。配置信息以参数形式提供，这些参数允许在一个 DNS 查询中进行连接，而不必进行多个 DNS 查询。

HTTPS 资源记录的格式为：

`SvcPriority TargetName SvcParams(optional)`

[RFC 9460 第 9.1 节](https://www.rfc-editor.org/rfc/rfc9460.html#section-9.1)中描述了以下参数。

**SvcPriority**  
表示优先级的整数。0 优先级表示别名模式，通常用于在顶级域中设置别名。对于 Route 53，此值是整数 0-32767，其中 1-32767 是服务模式记录。优先级越低，首选项越高。

**TargetName**  
别名目标（用于别名模式）或备用端点（用于服务模式）的域名。

**SvcParams（可选）**  
 以空格分隔的列表，每个参数都由键值对或独立键组成。如果有多个值，则以逗号分隔的列表显示这些值。以下是定义的 SvcParams：  
+ `1:alpn` – 应用程序层协议协商协议 ID 默认为 HTTP/1.1，`h2` 是 TLS 上的 HTTP/2，`h3` 是 HTTP/3（QUIC 协议上的 HTTP）。
+ `2:no-default-alpn` – 不支持默认值，您必须提供 `alpn` 参数。
+ `3:port` – 替代端点或可以到达服务的端口。
+ `4:ipv4hint` – IPv4 地址提示。
+ `5:ech` – 加密的客户端 Hello。
+ `6:ipv6hint` – IPv6 地址提示。
+ `7:dohpath` – HTTPS 上的 DNS 模板
+ `8:ohttp` – 该服务运作 Oblivious HTTP 目标

**适用于别名模式的 Amazon Route 53 控制台示例**

```
0 example.com
```

**适用于服务模式的 Amazon Route 53 控制台示例**

```
16 example.com alpn="h2,h3" port=808
```

**适用于别名模式的 Amazon Route 53 API 示例**

```
<Value>0 example.com</Value>
```

**适用于服务模式的 Route 53 API 示例**

```
<Value>16 example.com alpn="h2,h3" port=808</Value>
```

有关更多信息，请参阅 [RFC 9460，通过 DNS 的服务绑定和参数规范（SVCB 和 HTTPS 资源记录）](https://datatracker.ietf.org/doc/html/rfc9460)。

**注意**  
Route 53 不支持任意的未知密钥表示格式 `keyNNNNN`

## MX 记录类型
<a name="MXFormat"></a>

MX 记录指定邮件服务器的名称，如果您有两个或多个邮件服务器，则指定优先级顺序。MX 记录的每个值都包含两个值，即优先级和域名。

**优先级**  
表示电子邮件服务器优先级的一个整数。如果只指定一个服务器，则优先级可以是 0 到 65535 之间的任意整数。如果指定多个服务器，则为优先级指定的值指示您要将邮件路由到第一个、第二个等电子邮件服务器中的哪一个。优先级值最低的服务器优先。例如，如果您有两个电子邮件服务器，并且为优先级指定值 10 和 20，则电子邮件始终会路由到优先级为 10 的服务器 (除非该服务器不可用)。如果您指定值为 10 和 10，则电子邮件会大致同等地路由到两个服务器。

**域名**  
电子邮件服务器的域名。指定 A 或 AAAA 记录的名称 (如 mail.example.com)。在 [RFC 2181, Clarifications to the DNS Specification](https://tools.ietf.org/html/rfc2181) 中，10.3 小节禁止为域名值指定 CNAME 记录的名称。（当 RFC 提到“别名”时，指的是 CNAME 记录，而不是 Route 53 别名记录。）

**Amazon Route 53 控制台示例**

```
10 mail.example.com
```

**Route 53 API 示例**

```
<Value>10 mail.example.com</Value>
```

## NAPTR 记录类型
<a name="NAPTRFormat"></a>

名称权威指针 (NAPTR) 是动态授权发现系统 (DDDS) 应用程序用于将一个值转换为另一个值或将一个值替换为另一个值的一种记录类型。例如，一个常见的用途是将电话号码转换为 SIP URI。

NAPTR 记录的 `Value` 元素包含六个以空格分隔的值：

**订单**  
当您指定多个记录时，您希望 DDDS 应用程序评估记录的顺序。有效值：0 - 65535。

**Preference**  
当您指定具有相同 **Order** 的两个或更多记录时，您评估这些记录的顺序首选项。例如，如果两个记录的 **Order** 为 1，则 DDDS 应用程序首先会评估具有较低 **Preference** 的记录。有效值：0 - 65535。

**Flags**  
特定于 DDDS 应用程序的一个设置。[RFC 3404](https://www.ietf.org/rfc/rfc3404.txt) 中当前定义的值为大写字母和小写字母 **"A"**、**"P"**、**"S"** 和 **"U"**，以及空字符串 **""**。将 **Flags** 用引号引起来。

**服务**  
特定于 DDDS 应用程序的一个设置。将 **Service** 用引号引起来。  
有关更多信息，请参阅适用的 RFC：  
+ **URI DDDS 应用程序** - [https://tools.ietf.org/html/rfc3404\#section-4.4](https://tools.ietf.org/html/rfc3404#section-4.4)
+ **S-NAPTR DDDS 应用程序** - [https://tools.ietf.org/html/rfc3958\#section-6.5](https://tools.ietf.org/html/rfc3958#section-6.5)
+ **U-NAPTR DDDS 应用程序** - [https://tools.ietf.org/html/rfc4848\#section-4.5](https://tools.ietf.org/html/rfc4848#section-4.5)

**Regexp**  
DDDS 应用程序用于将输入值转换为输出值的一个正则表达式。例如，IP 电话系统可使用一个正则表达式将用户输入的电话号码转换为 SIP URI。将 **Regexp** 用引号引起来。为 **Regexp** 指定一个值，或者为 **Replacement** 指定一个值，但不要同时为这两者指定值。  
该正则表达式可包含以下任何可打印 ASCII 字符：  
+ a-z
+ 0-9
+ - (连字符)
+ (space)
+ \! \# $ % & ' ( ) \* \+ , - / : ; < = > ? @ [ ] ^ \_ ` { \| } \~ .
+ " (引号)。要在字符串中包含引号字符，请在它前面加上 \\ 字符：\\"。
+ \\ (反斜杠)。要在字符串中包含反斜杠，请在它前面加上 \\ 字符：\\\\。
以八进制格式指定所有其他值，例如国际化域名。  
有关 **Regexp** 的语法，请参阅 [RFC 3402 的第 3.2 节“Substitution Expression Syntax”](https://tools.ietf.org/html/rfc3402#section-3.2)

**Replacement**  
您希望 DDDS 应用程序对其提交 DNS 查询的下一个域名的完全限定域名 (FQDN)。DDDS 应用程序会用您为 **Replacement** 指定的值 (如果有) 来替换输入值。为 **Regexp** 指定一个值，或者为 **Replacement** 指定一个值，但不要同时为这两者指定值。如果您为 **Regexp** 指定了一个值，请为**替换**指定一个圆点 (**.**)。  
域名可以包含 a-z、0-9 和 - (连字符)。

有关 DDDS 应用程序和 NAPTR 记录的更多信息，请参阅以下 RFC：
+ [RFC 3401](https://www.ietf.org/rfc/rfc3401.txt)
+ [RFC 3402](https://www.ietf.org/rfc/rfc3402.txt)
+ [RFC 3403](https://www.ietf.org/rfc/rfc3403.txt)
+ [RFC 3404](https://www.ietf.org/rfc/rfc3404.txt)

**Amazon Route 53 控制台示例**

```
100 50 "u" "E2U+sip" "!^(\\+441632960083)$!sip:\\1@example.com!" .
100 51 "u" "E2U+h323" "!^\\+441632960083$!h323:operator@example.com!" .
100 52 "u" "E2U+email:mailto" "!^.*$!mailto:info@example.com!" .
```

**Route 53 API 示例**

```
<ResourceRecord>
   <Value>100 50 "u" "E2U+sip" "!^(\\+441632960083)$!sip:\\1@example.com!" .</Value>
   <Value>100 51 "u" "E2U+h323" "!^\\+441632960083$!h323:operator@example.com!" .</Value>
   <Value>100 52 "u" "E2U+email:mailto" "!^.*$!mailto:info@example.com!" .</Value>
</ResourceRecord>
```

## NS 记录类型
<a name="NSFormat"></a>

NS 记录会标识托管区域的名称服务器。请注意以下几点：
+ NS 记录的最常见用途是控制域的 Internet 流量路由方式。要使用托管区域中的记录路由域的流量，请更新域注册设置以使用默认 NS 记录中的四个名称服务器。（这是与托管区域同名的 NS 记录。）
+ 您可以为子域 (acme.example.com) 创建单独的托管区域，并使用该托管区域为子域及其子域 (subdomain.acme.example.com) 路由 Internet 流量。您可以通过在根域的托管区域 (example.com) 中创建另一个 NS 记录来设置此配置，称为 "将子域的责任委托给托管区域"。有关更多信息，请参阅 [路由子域的流量](dns-routing-traffic-for-subdomains.md)。
+ 您还可以使用 NS 记录配置白标名称服务器。有关更多信息，请参阅 [配置白标签名称服务器](white-label-name-servers.md)。
+ NS 记录的另一个用途是私有托管区，当您创建委托规则将子域的授权委托给本地解析器时，即可使用 NS 记录。在创建委托规则之前，必须创建此 NS 记录。有关更多信息，请参阅 [解析器端点如何将 DNS 查询从你的 VPC 转发到你的网络](resolver-overview-forward-vpc-to-network.md)。

有关 NS 记录的更多信息，请参阅 [Amazon Route 53 为公有托管区域创建的 NS 和 SOA 记录](SOA-NSrecords.md)。

**Amazon Route 53 控制台示例**

```
ns-1.example.com
```

**Route 53 API 示例**

```
<Value>ns-1.example.com</Value>
```

## PTR 记录类型
<a name="PTRFormat"></a>

PTR 记录将 IP 地址映射到相应的域名。

**Amazon Route 53 控制台示例**

```
hostname.example.com
```

**Route 53 API 示例**

```
<Value>hostname.example.com</Value>
```

## SOA 记录类型
<a name="SOAFormat"></a>

授权起始点 (SOA) 记录会提供有关域和相应 Amazon Route 53 托管区域的信息。有关 SOA 记录中的字段的信息，请参阅 [Amazon Route 53 为公有托管区域创建的 NS 和 SOA 记录](SOA-NSrecords.md)。

**Route 53 控制台示例**

```
ns-2048.awsdns-64.net hostmaster.awsdns.com 1 1 1 1 60
```

**Route 53 API 示例**

```
<Value>ns-2048.awsdns-64.net hostmaster.awsdns.com 1 1 1 1 60</Value>
```

## SPF 记录类型
<a name="SPFFormat"></a>

SPF 记录以前用于验证电子邮件发件人的身份。但是，不再建议您创建记录类型为 SPF 的记录。RFC 7208 中的 *Sender Policy Framework（SPF）for Authorizing Use of Domains in Email, Version 1（在电子邮件中授权使用域的发件人策略框架（SPF），版本 1）* 已更新为：“...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues。Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.“（...在 [RFC4408] 中定义的其存在和机制已导致一些互操作性问题。因此，它已不再适合 SPF 版本 1；实施方案中不应再使用它。） 在 RFC 7208 中，请参阅第 14.1 节 [SPF DNS 记录类型](http://tools.ietf.org/html/rfc7208#section-14.1)。

建议您创建一个包含适用值的 TXT 记录，而不是 SPF 记录。有关有效值的更多信息，请参阅维基百科文章[发件人策略框架](https://en.wikipedia.org/wiki/Sender_Policy_Framework)。

**Amazon Route 53 控制台示例**

```
"v=spf1 ip4:192.168.0.1/16 -all"
```

**Route 53 API 示例**

```
<Value>"v=spf1 ip4:192.168.0.1/16 -all"</Value>
```

## SRV 记录类型
<a name="SRVFormat"></a>

SRV 记录 `Value` 元素包含四个以空格分隔的值。前三个值为分别是表示优先级、权重和端口的十进制数。第四个值为一个域名。SRV 记录用于访问服务，例如电子邮件或通信服务。有关 SRV 记录格式的信息，请参阅要连接到的服务的文档。

**Amazon Route 53 控制台示例**

```
10 5 80 hostname.example.com
```

**Route 53 API 示例**

```
<Value>10 5 80 hostname.example.com</Value>
```

## SSHFP 记录类型
<a name="SSHFPFormat"></a>

安全 Shell 指纹记录（SSHFP）可识别与域名关联的 SSH 密钥。为建立信任链，必须使用 DNSSEC 保护 SSHFP 记录。有关 DNSSEC 的更多信息，请参阅 [在 Amazon Route 53 中配置 DNSSEC 签名](dns-configuring-dnssec.md)。

SSHFP 资源记录的格式为：

`[Key Algorithm] [Hash Type] Fingerprint`

以下参数在 [RFC 4255](https://datatracker.ietf.org/doc/html/rfc4255) 中定义。

**密钥算法**  
算法类型：  
+ `0` – 已保留且未使用。
+ `1: RSA` – Rivest–Shamir–Adleman 算法是最早的公有密钥密码系统之一，至今仍用于安全的数据传输。
+ `2: DSA` – 数字签名算法是用于数字签名的联邦信息处理标准。DSA 基于模幂和离散对数数学模型。
+ `3: ECDSA` – 椭圆曲线数字签名算法是使用椭圆曲线密码学的 DSA 变体。
+ `4: Ed25519` – Ed25519 算法是使用 SHA-512（SHA-2）和 Curve25519 的 EdDSA 签名方案。
+ `6: Ed448` – Ed448 是使用 SHAKE256 和 Curve448 的 EdDSA 签名方案。

**哈希类型**  
用于创建公有密钥哈希的算法：  
+ `0` –已保留且未使用。
+ `1: SHA-1`
+ `2: SHA-256`

**指纹**  
哈希的十六进制表示。

**Amazon Route 53 控制台示例**

```
1 1 09F6A01D2175742B257C6B98B7C72C44C4040683
```

**Route 53 API 示例**

```
<Value>1 1 09F6A01D2175742B257C6B98B7C72C44C4040683</Value>
```

有关更多信息，请参阅 [RFC 4255：使用 DNS 安全发布 Secure Shell（SSH）密钥指纹](https://datatracker.ietf.org/doc/html/rfc4255)。

## SVCB 记录类型
<a name="SVCBFormat"></a>

您可以使用 SVCB 记录来传送访问服务端点的配置信息。SVCB 是一种通用 DNS 记录，可用于协商各种应用协议的参数。

SVCB 资源记录的格式为：

`SvcPriority TargetName SvcParams(optional)`

[RFC 9460 第 2.3 节](https://www.rfc-editor.org/rfc/rfc9460.html#section-2.3)中描述了以下参数。

**SvcPriority**  
表示优先级的整数。0 优先级表示别名模式，通常用于在顶级域中设置别名。优先级越低，首选项越高。

**TargetName**  
别名目标（用于别名模式）或备用端点（用于服务模式）的域名。

**SvcParams（可选）**  
 以空格分隔的列表，每个参数都由键值对或独立键组成。如果有多个值，则以逗号分隔的列表显示这些值。对于 Route 53，此值是整数 0-32767，其中 1-32767 是服务模式记录。以下是定义的 SvcParams：  
+ `1:alpn` – 应用程序层协议协商协议 ID 默认为 HTTP/1.1，`h2` 是 TLS 上的 HTTP/2，`h3` 是 HTTP/3（QUIC 协议上的 HTTP）。
+ `2:no-default-alpn` – 不支持默认值，您必须提供 `alpn` 参数。
+ `3:port` – 可以访问服务的替代端点的端口。
+ `4:ipv4hint` – IPv4 地址提示。
+ `5:ech` – 加密的客户端 Hello。
+ `6:ipv6hint` – IPv6 地址提示。
+ `7:dohpath` – HTTPS 上的 DNS 模板
+ `8:ohttp` – 该服务运作 Oblivious HTTP 目标

**适用于别名模式的 Amazon Route 53 控制台示例**

```
0 example.com
```

**适用于服务模式的 Amazon Route 53 控制台示例**

```
16 example.com alpn="h2,h3" port=808
```

**适用于别名模式的 Amazon Route 53 API 示例**

```
<Value>0 example.com</Value>
```

**适用于服务模式的 Route 53 API 示例**

```
<Value>16 example.com alpn="h2,h3" port=808</Value>
```

有关更多信息，请参阅 [RFC 9460，通过 DNS 的服务绑定和参数规范（SVCB 和 HTTPS 资源记录）](https://datatracker.ietf.org/doc/html/rfc9460)。

**注意**  
Route 53 不支持任意的未知密钥表示格式 `keyNNNNN`

## TLSA 记录类型
<a name="TLSAFormat"></a>

您可以借助 TLSA 记录来使用基于 DNS 的命名实体身份验证（DANE）。TLSA 记录将证书/公有密钥与传输层安全性协议（TLS）端点相关联，客户端可以使用以 DNSSEC 签名的 TLSA 记录来验证证书/公有密钥。

只有在您的域上启用 DNSSEC 后，才可信任 TLSA 记录。有关 DNSSEC 的更多信息，请参阅 [在 Amazon Route 53 中配置 DNSSEC 签名](dns-configuring-dnssec.md)。

TLSA 资源记录的格式为：

`[Certificate usage] Selector [Matching type] [Certificate association data]`

以下参数在 [RFC 6698 的第 3 节](https://datatracker.ietf.org/doc/html/rfc6698#section-3)中指定。

**证书用量**  
指定提供的关联，该关联将用于与 TLS 握手中展示的证书相匹配：  
+ 0：CA 约束 – 必须在服务器在 TLS 中提供的端点实体证书的任意公有密钥基础设施（PKIX）认证路径中找到证书或公有密钥。此约束限制哪些 CA 可用于为指定的服务颁发证书。
+ 1：服务证书约束 – 指定端点实体证书（或公有密钥），该证书必须与服务器在 TLS 中提供的端点实体证书相匹配。此认证限制主机上的指定服务可以使用的端点实体证书。
+ 2：信任锚断言 – 指定在验证服务器在 TLS 中提供的端点实体证书时必须用作“信任锚”的证书（或公有密钥）。允许域管理员指定信任锚。
+ 3：域颁发的证书 – 指定必须与服务器在 TLS 中提供的端点实体证书相匹配的证书（或公有密钥）。该认证允许域管理员在不涉及第三方 CA 的情况下为域颁发证书。此证书不需要通过 PKIX 验证。

**选择器**  
指定服务器在握手中所提供证书的哪一部分与关联值相匹配：  
+ 0：必须匹配整个证书。
+ 1：必须匹配主题公有密钥或 DER 编码的二进制结构。

**匹配类型**  
指定证书匹配项的显示方式（由“选择器”字段确定）：  
+ 0：内容完全匹配。
+ 1：SHA-256 哈希。
+ 2：SHA-512 哈希。

**证书关联数据**  
要根据其他字段的设置进行匹配的数据。

**Amazon Route 53 控制台示例**

```
0 0 1 d2abde240d7cd3ee6b4b28c54df034b97983a1d16e8a410e4561cb106618e971
```

**Route 53 API 示例**

```
<Value>0 0 1 d2abde240d7cd3ee6b4b28c54df034b97983a1d16e8a410e4561cb106618e971</Value>
```

有关更多信息，请参阅 [RFC 6698，基于 DNS 的命名实体身份验证（DANE）传输层安全性协议（TLS）协议：TLSA](https://datatracker.ietf.org/doc/html/rfc6698)。

## TXT 记录类型
<a name="TXTFormat"></a>

TXT 记录包含一个或多个用双引号 (`"`) 引起的字符串。当您使用简单[路由策略](https://docs.amazonaws.cn/Route53/latest/DeveloperGuide/routing-policy.html)时，请将域 (example.com) 或子域 (www.example.com) 的所有值包含在同一 TXT 记录中。

**Topics**
+ [输入 TXT 记录值](#TXTformat-limits)
+ [TXT 记录值中的特殊字符](#TXTformat-special-characters)
+ [TXT 记录值中的大写字符和小写字符](#TXTformat-case)
+ [示例](#TXTformat-examples)

### 输入 TXT 记录值
<a name="TXTformat-limits"></a>

单个字符串最多可包含 255 个字符，包括以下内容：
+ a-z
+ A-Z
+ 0-9
+ 空格
+ - (连字符)
+ \! " \# $ % & ' ( ) \* \+ , - / : ; < = > ? @ [ \\ ] ^ \_ ` { \| } \~ . 

如果您需要输入长度大于 255 个字符的值，请将该值分解为包含 255 个字符或更少字符的字符串，并将每个字符串用双引号 (`"`) 括起来。在控制台中的同一行上，列出所有字符串：

```
"String 1" "String 2" "String 3"
```

对于 API，在同一 `Value` 元素中包含所有字符串：

```
<Value>"String 1" "String 2" "String 3"</Value>
```

TXT 记录中的值的最大长度为 4000 个字符。

要输入多个 TXT 值，请每行输入一个值。

### TXT 记录值中的特殊字符
<a name="TXTformat-special-characters"></a>

如果您的 TXT 记录包含以下任意字符，则必须使用 `\`{{三位八进制代码}}格式的转义码指定字符：
+ 八进制字符 000 到 040 (十进制 0 到 32，十六进制 0x00 到 0x20)
+ 八进制字符 177 到 377 (十进制 127 到 255，十六进制 0x7F 到 0xFF)

例如，如果您的 TXT 记录的值为 `"exämple.com"`，则应指定 `"ex\344mple.com"`。

有关 ASCII 字符和八进制代码之间的映射，请在 Internet 上搜索“ASCII 八进制代码”。一个有用的参考是 [ASCII 代码 – 扩展 ASCII 表](https://www.ascii-code.com/)。

要将引号 (`"`) 包含在字符串中，请在引号前面放置反斜杠 (`\`) 字符：`\"`。

### TXT 记录值中的大写字符和小写字符
<a name="TXTformat-case"></a>

大小写将被保留，因此 `"Ab"` 和 `"aB"` 是不同的值。

### 示例
<a name="TXTformat-examples"></a>

**Amazon Route 53 控制台示例**

在单独的行中放置每个值：

```
"This string includes \"quotation marks\"."
"The last character in this string is an accented e specified in octal format: \351"
"v=spf1 ip4:192.168.0.1/16 -all"
```

**Route 53 API 示例**

在单独的 `Value` 元素中放置每个值：

```
<Value>"This string includes \"quotation marks\"."</Value>
<Value>"The last character in this string is an accented e specified in octal format: \351"</Value>
<Value>"v=spf1 ip4:192.168.0.1/16 -all"</Value>
```