文档中心>移动解析 HTTPDNS>API 文档>HTTPDNS 服务 IP 容灾方案说明

HTTPDNS 服务 IP 容灾方案说明

最近更新时间:2025-03-24 17:24:42

我的收藏

操作场景

该实践方案适用于使用 API 接入 HTTPDNS 的用户。使用 SDK 的用户,不需要参照该方案进行修改,升级 SDK 到最新版本即可( iOS 端 SDK 升级到v1.11.0,Android 端 SDK 升级到 v4.10.0),SDK 新版本已具备自动更换服务 IP 的能力。

术语介绍

服务 IP:用于提供 HTTPDNS 解析服务的 IP,例如119.29.29.98。
启动 IP:用于调用 API,动态获取服务 IP 列表。
说明:
启动 IP 请联系售后或 在线支持 获取。

接入流程


1. 通过启动 IP,调用接口获取服务 IP 列表
2. 从 IP 列表中轮询/随机选择服务 IP,发起解析请求。
3. 如果 IP 列表中,全部服务 IP 均调用失败,重新获取服务 IP 列表。
4. 定时调用启动 IP 更新服务 IP 列表(建议每12小时),保持服务 IP 列表的有效性,或者在特殊场景下进行调用,例如:
客户端冷启动时进行更新
切换网络环境时
5. 调用“获取 IP 列表接口”的次数和时间,需要做好控制,避免调用失败时,阻塞 HTTPDNS 解析流程(建议重试1次,超时时间设置为2秒);也可以在实际开发过程中,考虑采用异步的方式,刷新服务 IP 列表。

获取 IP 列表接口说明

接口描述

接口请求地址:http(s)://{启动IP}/conf?+ {请求参数}。
请求方式:POST 或 GET。

HTTP 请求参数

参数名
参数含义
是否必选
取值
加密
说明
id
用户标识(即授权 ID)
1 - 100000
如果使用 AES、DES 加密方式,必须传入授权 ID,不需要进行加密。
alg
选择使用何种算法
[aes/des]
默认使用 DES 算法,不同算法具有不同密钥。

HTTP 请求/返回示例

输入示例:
curl "http://{启动IP}/conf?id=xxxx"
解密后返回格式:
log:0|domain:0|ip:119.29.29.98;119.28.28.98|ttl:60
参数“ip”后面的结果为服务 IP,不同服务 IP 采用分号分隔,其余参数可以忽略。

HTTPS 请求参数:

参数名
参数含义
是否必选
取值
加密
说明
token
使用 HTTPS 方式的标识
整型数据
token 获取详情请参见 配置信息说明

HTTPS 请求/返回示例:

输入示例:
curl -S -s -k "https://{启动IP}/conf?token=xxxx"
返回格式:
log:0|domain:0|ip:119.29.29.99;119.28.28.99|ttl:60
参数“ip”后面的结果为服务 IP,不同服务 IP 采用分号分隔,其余参数可以忽略。
说明:
如果使用 HTTP 请求获取的服务 IP,仅限于 HTTP 解析,如果使用 HTTPS 请求获取的服务 IP,仅限于 HTTPS 解析。