全部产品
云市场

HTTPDNS 产品 功能与使用上关键问题汇总

更新时间:2020-03-27 10:24:27

问题 1: HTTPDNS 能结合 CDN 一起使用吗 ?
  • 可以 。

问题 2 : 服务 IP 的调用是否有QPS上限 ?
  • 没有上限。

问题 3 :有对接 WebView HTML ( 静态网页 ) 的方法么 ?

问题 4 : 客户端报 UnknowHost ,是否域名解析出了问题?
  • 是的 , DNS 解析失败 。

问题 5 : 可否将 HTTPDNS 中的 utdevice 去掉?因为我们用的支付是一个三方的,里面集成了支付宝?
  • 支付宝中的 utdevice ,接口没放出来 ,所以不可以 。请按文档按照文档进行集成 。

问题 6 : 控制台域名解析量的数据统计是实时的吗 ?
  • 解析次数具体是怎么刷新的,感觉解析了好几次,但是上面没有更新数据 ?
  • 展示的是服务端请求量统计, 解析次数不是实时的,是按天更新的,今天看昨天的数据。点详情会有具体的日期对应的次数。


问题 7 :集成 httpdns 后 没有请求头 ?解析数据中没有 host 这个参数 ?
  • 代码中需设置参数 HOST,这个属于网络请求的 请求头 ;
  • 如果设置了请求头,可打印请求头数据,请在请求头中查看 。

问题 8 : Demo 里对客户端处于代理情况下会进行降级处理 , 有没有其他情况下也需要做降级处理 ?
  • 建议只要调 API 返回空 IP,就需要进行降级处理,采用标准的 DNS 流程进行兜底 。

问题 9 : WebView 为什么只设置拦截 GET 请求 , 不能拦截带 body 的 POST 请求 ?

问题 10 :IP 解析的原则 是否是 就近原则 ?
  • HTTPDNS 的就近 指的是,如果你们 权威DNS 设置了按地域调度的,那么通过 HTTPDNS 解析时,也能保持这个解析策略 。

问题 11 : HTTPDNS 将域名解析成两个(或多个)不同的 IP,如需要控制各个IP的权重 该如何处理 ?
  • 域名权重配置是调度策略,HTTPDNS 本身不干预调度策略,这个可以在域名的 权威DNS 处设置 。

问题 12 : 对于国外用户,会不会解析为国内 IP,接入 HTTPDNS , 会对国外用户有什么影响 ?
  • HTTPDNS 不改变域名的解析策略,策略在你们域名的 权威DNS上设置,
  • 对 HTTPDNS 而言,和这些场景混合无关,只和域名本身有关 。HTTPDNS 是根据 权威DNS 的解析结果返回结果的,如果 权威DNS 做了分线路、分地域的解析,HTTPDNS 自动也会支持。

问题 13 : 混合阿里云的 CDN、高防IP 和 BGP 三种 ,HTTPDNS 可以路由到最近节点不 ?
  • 对 HTTPDNS 而言,和这些场景混合无关,只和域名本身有关 。HTTPDNS 是根据 权威DNS 的解析结果返回结果的,如果 权威DNS 做了分线路、分地域的解析,HTTPDNS 自动也会支持。

问题 14 :SDK 预解析 setPreResolveHosts 操作是指让 HTTPDNS 服务器那边刷新 DNS 缓存 ?
  • 并非如此,主要是 App 端预先取一些结果,HTTPDNS 服务器的缓存是否刷新取决于是否过期,预解析的意思是在你还没有要用到相关域名的 IP 之前就进行解析,使得当你需要的时候 IP 已经在解析完成进行过缓存了。

问题 15 : HTTPDNS 能解析未备案的域名吗 ?
  • HTTPDNS 是一个递归解析服务,解析结果是透传权威域名服务器返回内容 。
  • HTTPDNS 解析域名 和 域名备案与否 没有直接关系的 ,备案相关规定是工信部提的,具体事宜可以参考:备案

问题 16 : 关于降级, 如果 IP 能获取到 , 但是在用 IP 替换进行请求时候发生错误 , 比如 400 , 类似的情况是否需要降级 ?
  • 域名解析层降级 :此时已经过了 DNS 阶段,能返回 400 ,说明解析的 IP 地址正确,这是属于 直连 IP 访问时的接入问题,前期接入 HTTPDNS 时测试好后,理论上不应该出这类 400 问题 。
  • 业务层面 :如果业务返回 400,看你们本身 App 端 的降级或重试策略,继续遵循即可,和是否使用 HTTPDNS 关系倒不大 。

问题 17 : SDK 持久化缓存 setCachedIPEnabled 如果不设置,是不是每次调用 getIPByHostAsync 都会去 HTTPDNS 服务器获取 ip ?
  • 并非如此,setCachedIPEnabled 开启后,会在打开手机存储后加载本地持久缓存到内存缓存中,每个 IP 都对应有 TTL (过期时间),在 TTL 过期后,也会进行网络请求,进行网络请求后会更新本地的持久化缓存。
  • 如果不开启,因为每个 IP 都有 TTL ,在 TTL 没有过期期间,也是优先使用内存缓存的 IP,不会走网络请求。

问题 18 : HTTPDNS 鉴权的 secrectkey 的作用是什么 ?10分钟失效后要怎么做 ?
  • 阿里云用户使用 HTTPDNS 接口验权时需要这个 secrectkey ,由服务器负责生成,
  • 查看方式:『 控制台 — 鉴权配置 — 鉴权 secretkey 』;鉴权实效性,接入时是不用处理的,主要是为了防止网络请求被抓包盗用。
  • SDK 内部在做网络请求时,每次都是有重新设置鉴权时间戳的操作,不用考虑鉴权时间戳是否会过期。

问题 19 : 初始化时报错 InvalidSignature
  • 具体示例:
    1. Async request for www.aliyun.com error: Error Domain=httpdns.request.lookupAllHostsFromServer-HTTP Code=10004 "(null)" UserInfo={ErrorMessage=InvalidSignature}
  • 如不使用 secretKey 正常解析,使用 secretKey 解析失败 ,则检查 :
    • secretKey 与 accountId 是否对应
    • secretKey 参数值 是否正确
  • 注意 secretKey 不是 appSecret ;
  • secretKey 获取方式 :
    • 参考 「 问题 18 」;
    • 或 查看 AliyunEmasServices-Info.plist 文件中 httpdns.secretKey 的 值 ;
问题 20 : 如何关闭 HTTPDNS 业务?
  • EMAS 控制台页面没有按钮直接关闭该产品 。
  • 您可在 EMAS HTTPDNS 控制台 添加域名 那里 删除所有域名,使之无法解析,之后就不会计费了。
  • 或者 代码中不调用接口,可在 app 集成时 删除或注销 HTTPDNS 的 初始化 。

问题 21 : HTTPDNS WebView 对进行重定向的链接要递归做域名替换,这个是必要的吗 ?

问题 22 : https 场景中遇到泛域名问题该如何处理 ?
  • 现官网提供的 demo 与 最佳实践部分都暂未对泛域名的情况作出处理,
  • 如遇到泛域名的场景就要在证书校验部分做修改,
  • 比如 abc.taobao.com 他的证书 HOST 已经不是 abc.taobao.com,可能是 *.taobao.com ,那么就要在证书校验的地方做下对应的修改 。
  • 参考:《 HTTPS(含SNI)业务场景 “IP直连” 方案说明 》

问题 23 : 能用子账号访问吗 ?
  • HTTPDNS 的控制台是集成在“云解析”控制台中的。当前云解析的控制台不支持 RAM,使得子账号访问 HTTPDNS 控制台时也不支持,主账号访问没问题 。
  • HTTPDNS 产品内部,其实是完整支持 RAM 子账号的,所以如果访问 HTTPDNS 的独立控制台链接,子账号使用没问题:建议子账号访问,请直接使用 HTTPDNS 独立控制台