本节介绍公共DNS的常见问题。
Q1:阿里公共DNS支持什么版本HTTP协议?
A:支持HTTP1.1和HTTP2.0。
Q2:阿里公共DNS的DoH JSON API是否支持中文域名?
A:目前还不支持通过DoH JSON API的name参数直接传递中文域名。需要客户端自行进行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%时间过期时主动触发重新解析更新缓存结果。