在火山引擎移动解析(HTTPDNS)中,如果您需要自定义解析结果,您可以为域名配置自定义解析记录。您可以通过自定义解析记录对线路进行更细粒度的配置,使来自不同运营商和不同地域的用户流量被精准路由到不同的服务地址。移动解析 HTTPDNS 在解析配置了自定义解析记录的域名时,会按照解析记录配置的线路返回自定义解析记录的记录值作为解析结果。
您在移动解析 HTTPDNS 中最多只能为每个域名添加 50 条自定义解析记录。
说明
通过软件定义解析 AnyMatch 功能,您还可以在移动解析 HTTPDNS 控制台为自定义解析记录设置自定义标识匹配规则,并在客户端通过 HTTPDNS SDK 或 HTTP API 发送带有自定义标识参数的 DNS 查询请求。收到查询请求后,HTTPDNS 服务端就会根据匹配规则返回符合业务需求的解析结果。参见 什么是软件定义解析 AnyMatch。
参考以下步骤在控制台配置自定义解析记录。
登录 移动解析 HTTPDNS 控制台。
在左侧导航栏,点击 自定义解析。
在 自定义解析 页面,选择自定义解析记录生效的应用。如果您选择 默认,则自定义解析记录仅对未配置应用的 DNS 查询请求生效。参见 应用管理 了解如何创建应用。
在 自定义解析 页面,点击 添加自定义解析。
在 添加自定义解析 页面,进行以下配置。
基本信息
参数 | 说明 |
---|---|
域名 | 您希望进行自定义解析的域名,例如 example.com。 |
记录类型 | 自定义解析记录的类型,包括 A、AAAA 和 CNAME。解析记录创建完成之后,您无法更改该参数。 |
线路类型 | 解析记录的线路。解析记录创建完成之后,您无法更改该参数。
在同一个自定义域名下,对于相同地域的用户,线路生效的优先级是:运营商 > 地理位置 > 默认。例如,电信-华北-北京 > 电信-华北-默认 > 电信-默认-默认 > 境内-华北-北京 > 境内-华北-默认 > 默认。如果在同一个自定义域名下,同时存在两条相同类型的解析记录。两条解析记录分别使用 电信-华北-北京 和 电信-华北-默认。那么,对于北京的电信用户,使用 电信-华北-北京 线路的解析记录优先生效。 |
自定义解析配置
您可以添加一个或多个自定义解析配置。多个自定义解析配置可以同时生效。
参数 | 说明 |
---|---|
TTL | 自定义解析记录的有效期。有效期越短,HTTPDNS SDK 中的解析记录缓存过期就越快。同时,HTTPDNS SDK 请求新的解析记录的频率就越高。 |
开启解析状态 | 该自定义解析配置是否生效。 |
AnyMatch标识类型 | 需要添加的软件定义解析 AnyMatch 的标识类型,包括 字符串型标识 和 数字型标识。参见 什么是软件定义解析 AnyMatch 了解如何使用软件定义解析 AnyMatch 功能。 |
字符串型标识
参数 | 说明 |
---|---|
匹配方式 | 仅支持 精确匹配。参见 字符串型标识的匹配规则。 |
标识名称 | 自定义标识的名称。长度限制为 2 ~ 64 个字符。 |
匹配内容 | 标识内容。移动解析 HTTPDNS 根据标识内容判断客户端发送的 DNS 查询请求中的自定义标识是否匹配自定义解析配置。 |
数字型标识
参数 | 说明 |
---|---|
匹配方式 | 支持 精确匹配 和 取模。参见 数字型标识的匹配规则。
|
标识名称 | (仅适用于 精确匹配)自定义标识的名称。长度限制为 2 ~ 64 个字符。 |
匹配内容 | (仅适用于 精确匹配)标识内容。移动解析 HTTPDNS 根据标识内容判断客户端发送的 DNS 查询请求中的自定义标识是否匹配自定义解析配置。 |
步长 | (仅适用于 取模)取模运算的除数。例如,对于 a mod b,取模运算的步长就是 b。 |
百分比 | (仅适用于 取模)取模运算的被除数的百分比。例如,对于 a mod b = c,如果 c 的值小于 a*百分比,则 a 匹配自定义解析配置。 |
记录值
参数 | 说明 |
---|---|
记录值 | 点击 添加记录值,然后设置一个记录值。每个记录值代表记录集中的一条解析记录。您可以添加多个记录值,即在一个记录集中添加多条解析记录。在收到解析请求时,移动解析 HTTPDNS 根据记录值的权重,通过负载均衡算法返回一个合适的记录值。 |
权重 | 指定记录值的权重。取值范围为 1 ~100。 |
点击 确定。您可以在 记录管理 页面看到您创建的自定义解析记录。
您可以通过客户端 SDK 或服务端 API 验证自定义解析功能是否生效。自定义域名解析记录会在创建完成约 1 分钟后生效。生效之后,移动解析 HTTPDNS 在解析配置了自定义解析记录的域名时,会返回自定义解析记录的记录值作为解析结果。
关于用服务端 API 验证自定义解析功能的方法,参见 测试解析是否生效。
关于用客户端 SDK 验证自定义解析功能的方法,参见以下文档:
您还可以参见 查看解析请求统计数据 了解自定义域名的解析请求统计情况。
假设您在控制台创建了以下自定义解析配置:
配置 A
标识名称 | 匹配内容 |
---|---|
tag1 | shanghai |
客户端发送的 DNS 查询请求中,字符串型自定义标识也是 shanghai
。那么 HTTPDNS 服务端会返回配置 A 中的记录值。
HTTPDNS 服务端会按照 DNS 查询请求中的自定义标识从左到右匹配。
假设您在控制台创建了以下自定义解析配置:
配置 A
标识名称 | 匹配内容 |
---|---|
tag1 | telecom |
tag2 | hebei |
tag3 | shijiazhuang |
配置 B
标识名称 | 匹配内容 |
---|---|
tag1 | telecom |
tag2 | hebei |
配置 C
无 AnyMatch 标识
匹配规则
客户端发送的 DNS 查询请求的匹配规则如下:
telecom/hebei/shijiazhuang/test
。那么 HTTPDNS 服务端会返回配置 A 中的记录值。telecom/hebei/shijiazhuang
。那么 HTTPDNS 服务端会返回配置 A 中的记录值。telecom/hebei/langfang
。那么 HTTPDNS 服务端会返回配置 B 中的记录值。telecom/hebei
。那么 HTTPDNS 服务端会返回配置 B 中的记录值。telecom/henan
。那么 HTTPDNS 服务端会返回配置 C 中的记录值。假设您在控制台创建了以下自定义解析配置:
配置 A
标识名称 | 匹配内容 |
---|---|
tag1 | 1000 |
配置 B
标识名称 | 匹配内容 |
---|---|
tag1 | 2000 |
配置 C
无 AnyMatch 标识
匹配规则
客户端发送的 DNS 查询请求的匹配规则如下:
1000
。那么 HTTPDNS 服务端会返回配置 A 中的记录值。2000
。那么 HTTPDNS 服务端会返回配置 B 中的记录值。3000
。那么 HTTPDNS 服务端会返回配置 C 中的记录值。假设您在控制台创建了以下自定义解析配置:
配置 A
步长 | 百分比 |
---|---|
100 | 20% |
配置 B
无 AnyMatch 标识
匹配规则
客户端发送的 DNS 查询请求的匹配规则如下:
1010
。那么 HTTPDNS 服务端会返回配置 A 中的记录值。2020
。那么 HTTPDNS 服务端会返回配置 A 中的记录值。3030
。那么 HTTPDNS 服务端会返回配置 B 中的记录值。您可以在一个自定义配置里同时创建字符串型标识和数字型标识。但是,HTTPDNS 服务端会先匹配字符串型标识,再匹配数字型标识。