更新时间:2020-05-22 17:32
本文介绍不使用 SDK,直接访问 HTTPDNS API 进行解析时的注意点。
HTTP API使用启动IP获取服务IP的方式,服务IP不固定。
解析接口建议使用鉴权解析,您可以在控制台设置开启/关闭非鉴权解析请求。
访问HTTPDNS服务时请做异步化处理,避免业务主流程同步等待网络解析过程。
案例:某客户在App端固化了单一的服务IP,并在业务请求中采用同步访问HTTPDNS服务IP的方式进行解析,如果遇到该服务IP被DDoS攻击进入黑洞时,会导致业务请求阻塞等待超时,App业务层受影响。
访问HTTPDNS服务端时,请使用IP池轮转机制,某个IP访问不通时轮转到下一个进行重试,避免某个IP被DDoS攻击时受影响。
不使用SDK,直接访问HTTPDNS API进行域名解析,可以参考SDK功能点来编写自行使用的逻辑。
需要解析的域名host先进行解析,拿到结果进行缓存(缓存的时间可以是TTL时间,TTL过期后是否还有缓存可以酌情配置),便于后续直接获取解析结果。
在网络切换时,会自动刷新所有域名的解析结果,但会产生一定流量消耗。
设置降级后,对应的域名不使用HTTPDNS进行解析。
当允许返回TTL过期的IP时,SDK在实时返回过期IP的同时依然会进行异步更新以获取最新的IP信息。
HTTPS请求校验示例:
HttpURLConnection conn = (HttpURLConnection) new URL("").openConnection();
if (conn instanceof HttpsURLConnection) {
((HttpsURLConnection) conn).setHostnameVerifier(new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return HttpsURLConnection.getDefaultHostnameVerifier().verify("203.107.1.1", session);
}
});
}
在文档使用中是否遇到以下问题
更多建议
匿名提交