阿里公共DNS功能问题汇总

本节介绍公共DNS的常见问题。

Q1:阿里公共DNS支持什么版本HTTP协议?

A:支持HTTP1.1HTTP2.0。

Q2:阿里公共DNSDoH JSON API是否支持中文域名?

A:目前还不支持通过DoH JSON APIname参数直接传递中文域名。需要客户端自行进行punycode转码。

Q3:通过TLS访问阿里公共DNS服务时,URI中的host是否支持直接使用IP地址?

A:IPv4地址是支持的,IPv6地址目前还不能通过证书验证。

Q4:在云解析控制台开通阿里公共DNS服务后如何关闭?

A:如果您是公共DNS的免费版用户,停止使用,只需要将设备上配置的DNS服务器地址改掉即可。

如果您是公共DNS付费版用户(即在阿里云控制台开通过公共DNS服务),您可以在控制台【计费数据】菜单中关闭服务。

Q5:阿里公共DNS是否支持DNSSEC?

A:阿里公共DNS目前还未开启DNSSEC验证。

Q6:阿里公共DNS是否可以在海外使用?

A:阿里公共DNS提供全球Anycast IP进行访问接入,可以在全球任何地方就近访问到服务集群。

Q7:阿里公共DNS是否提供DDoS防护能力?

A:提供,目前DDoS防护的能力是全部用户共享。

Q8:使用 CORS 的方式调用阿里公共DNS DoH JSON API 接口需要注意什么?

A: 1、credentials 设置为 same-origin(默认值) 2、请求头中不要传递任何自定义的 headers。

代码示例:

// credentials, headers 可以不填,就是默认值
fetch('http://dns.alidns.com/resolve?uid=9999&type=28&name=www.taobao.com', {
  credentials: 'same-origin',
  headers: {}
});

Q9: 阿里公共DNS SDK缓存更新机制是什么?

A: SDK支持三种解析记录缓存更新记录机制

第一种:缓存永不过期。即第一次DNS解析请求获得解析结果(包含通过预加载机制解析)之后,获得的解析结果缓存在本次APP使用过程中不过期、不更新,后续APP内针对该域名的解析请求都以该缓存应答,除非网络环境发生变化会触发对域名的重新解析获取解析结果。

第二种:缓存被动更新。即第一次DNS解析请求获得解析结果(包含通过预加载机制解析)之后建立解析结果缓存,后续的解析请求使用解析缓存应答时,如果发现解析结果缓存TTL已过期,则先以缓存解析结果应答解析请求,再主动更新缓存。

第三种:缓存主动更新。即第一次DNS解析请求获得解析结果(包含通过预加载机制解析)之后建立解析结果缓存,后按照解析结果缓存TTL还剩25%时间过期时主动触发重新解析更新缓存结果。