域名操作、域名配置、刷新预热
搭建环境
Copied!
// step 1: add cloud service override endpoint
OverridableEndpointURLResolver endpointResolver = new OverridableEndpointURLResolver();
endpointResolver.addOverrideEndpoint(ServiceType.CDN, "xxx");//example:"https://cdn.myhuaweicloud.com/v1.0"
// step 2: initial OpenStack4j Client 初始OpenStack4j客户端
OSFactory.enableHttpLoggingFilter(true);
// step 3: config of the client 配置客户端
Config config = Config.newConfig()
.withEndpointURLResolver(endpointResolver);
认证鉴权
搭建好环境之后需要去认证鉴权,有如下两种认证方式,您可以选择其中一种进行认证鉴权。
Token认证:通过Token认证通用请求。
AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。推荐使用AK/SK认证,其安全性比Token认证要高。
1.Token认证
Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。
URI
POST /v3/auth/tokens
Token可通过调用获取用户Token接口获取,调用本服务API需要全局级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择domain,如下所示。
Copied!
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "username",
"password": "********",
"domain": {
"name": "domainname"
}
}
}
},
"scope": {
"domain": {
"name": "domainname"
}
}
}
}
获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”
代码如下:
Copied!
String user = "username"; // IAM User Name
String password = "password"; // IAM User Password
String projectId = "projectId"; // the project ID of cn-north-1
String userDomainId = "userDomainId"; // Account ID
String authUrl = "xxxxxxx"; // example: authUrl = "https://iam.myhuaweicloud.com/v3/"
OSClient.OSClientV3 osclient = OSFactory.builderV3()
.withConfig(config)
.endpoint(authUrl)
.credentials(user, password, Identifier.byId(userDomainId))
.scopeToDomain(Identifier.byId(userDomainId))
.scopeToProject(Identifier.byId(projectId))
.authenticate();
您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。
2.AK/SK认证
AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。
AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。
SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。
代码如下:
Copied!
String ak = "xxxx";
String sk = "xxxx";
String projectId = "xxxx";// the project ID of cn-north-1
String region = "xxxx"; //example: region = "cn-north-1"
String cloud = "xxxx"; //example: cloud = "myhuaweicloud.com"
OSClient.OSClientAKSK osclient = OSFactory.builderAKSK().withConfig(config).credentials(ak, sk, region, projectId, cloud).authenticate();
您也可以通过这个视频教程了解AK/SK认证的使用:https://bbs.huaweicloud.com/videos/69d4cf0269c34d41ab3dff02c73dd6c9 。
快速入门
此案例通过调用一系列CDN的API来创建加速域名,让您快速入门了解,详情参考。
域名操作
查询加速域名
功能介绍
查询加速域名信息。
URI
GET /v1.0/cdn/domains
Copied!
// get domain list
Domain.Domains domains = osclient.cdn().domains().list(params);
System.out.println(domains.getList());
创建加速域名
如果您想通过CDN加速指定网站的业务,那么您要将需要加速的网站作为源站,并为其创建加速域名。CDN通过加速域名将源站上需要加速的内容缓存到CDN节点,达到加速访问资源的效果。
功能介绍
创建加速域名。
URI
POST /v1.0/cdn/domains
Copied!
// create domain
Source source = Source.builder().activeStandby(1).ipOrDomain("1.2.3.4").originType("ipaddr").build();
List<Source> sources = new ArrayList<>();
sources.add(source);
DomainCreate creation = DomainCreate.builder().businessType("web").domainName("xxxxxxx")
.enterpriseProjectId(params.get("enterprise_project_id"))
.sources(sources).build();
Domain domainCreate = osclient.cdn().domains().create(creation);
System.out.println(domainCreate);
System.out.println("domain Create success...");
查询加速域名详情
功能介绍
查询加速域名详情。
URI
GET /v1.0/cdn/domains/{domainId}/detail
Copied!
// get domain detail
Domain domainDetail = osclient.cdn().domains().getDetail(domainId, params);
System.out.println(domainDetail);
System.out.println("domain getDetail success...");
删除加速域名
功能介绍
删除加速域名。
URI
DELETE /v1.0/cdn/domains/{domainId}
Copied!
// delete domain:deactivate only, configuration fails, audit failed, and the failed domain name can be deleted
Domain domainDelete = osclient.cdn().domains().delete(domainId, params);
System.out.println(domainDelete);
System.out.println("domain delecte success...");
启用加速域名
功能介绍
启用加速域名。
URI
PUT /v1.0/cdn/domains/{domainId}/enable
Copied!
// enable domain:domain names that are not blocked and locked can be disabled if they are deactivated or configured to fail
Domain domainEnable = osclient.cdn().domains().enable(domainId, params);
System.out.println(domainEnable);
System.out.println("domain enable success...");
停用加速域名
功能介绍
停用加速域名。
URI
PUT /v1.0/cdn/domains/{domainId}/disable
Copied!
// disable domain:domain names that are not blocked and locked can be disabled if they are deactivated or configured to fail
Domain domainDisable = osclient.cdn().domains().disable(domainId, params);
System.out.println(domainDisable);
System.out.println("domain disable success...");
域名配置
域名添加完成后,您可以根据业务需求对加速域名进一步自定义配置。自定义配置项包括源站配置、回源配置(回源HOST配置、Range回源配置、302回源跟随配置、OBS私有桶回源配置)、HTTPS配置、缓存配置、访问控制(防盗链配置、IP黑白名单配置)、高级配置(HTTP header配置)。
修改源站信息
源站是您的网站服务器,是CDN加速分发数据的来源。若您的源站信息需要修改(如源站IP,源站域名、OBS桶域名或回源端口),您可以通过CDN服务提供的API修改源站信息。
功能介绍
修改源站信息。源站IP地址或域名都可以指引CDN节点回源到对应的源站服务器,源站域名不能与加速域名相同。
URI
PUT /v1.0/cdn/domains/{domainId}/origin
Copied!
// set origin
Source newSource1 = Source.builder().ipOrDomain("1.2.3.4").originType("ipaddr").activeStandby(1).build();
Source newSource2 = Source.builder().ipOrDomain("example.source.com").originType("domain").activeStandby(0).build();
List<Source> newSources = new ArrayList<>();
newSources.add(newSource1);
newSources.add(newSource2);
Source.Origin newOrigin = Source.Origin.builder().sources(newSources).build();
Source.Origin origin = osclient.cdn().domains().setOrigin(domainId, newOrigin, params);
System.out.println(origin);
System.out.println("domain setOrigin success...");
修改回源HOST
回源HOST是CDN回源过程中,在源站访问的站点域名,即HTTP请求头中的HOST信息。配置回源HOST后,CDN在回源过程中会根据HOST信息去对应站点获取资源。
功能介绍
修改回源HOST。回源HOST是CDN节点在回源过程中,在源站访问的站点域名,即http请求头中的host信息。
URI
PUT /v1.0/cdn/domains/{domainId}/originhost
Copied!
// set originHost
OriginHost newOriginHost = OriginHost.builder().customizeDomain("example.host.com").originHostType("customize").build();
OriginHost originHost = osclient.cdn().domains().setOriginHost(domainId, newOriginHost, params);
System.out.println(originHost);
System.out.println("domain setOriginHost success...");
查询回源HOST
功能介绍
查询回源HOST。回源HOST是CDN节点在回源过程中,在源站访问的站点域名,即http请求头中的host信息。
URI
GET /v1.0/cdn/domains/{domainId}/originhost
Copied!
// get originHost
OriginHost originHosts = osclient.cdn().domains().getOriginHost(domainId, params);
System.out.println(originHosts);
System.out.println("domain getOriginHost success...");
开启/关闭Range回源
Range回源是指源站在收到CDN节点回源请求时,根据http请求头中的Range信息返回指定范围的数据给CDN节点。
功能介绍
Range回源是指源站在收到CDN节点回源请求时,根据http请求头中的Range信息返回指定范围的数据给CDN节点。
接口约束
开启Range回源前需要确认源站是否支持Range请求,若源站不支持Range请求,开启Range回源将导致资源无法缓存。
URI
PUT /v1.0/cdn/domains/{domainId}/range-switch
Copied!
// set range
OriginRangeStatus rangeStatus = OriginRangeStatus.builder().rangeStatus("on").build();
OriginRange originRange = osclient.cdn().domains().setOriginRange(domainId, rangeStatus);
System.out.println(originRange);
System.out.println("domain setOriginRange success...");
开启/关闭302回源跟随
开启302回源跟随配置后,当CDN节点回源请求源站返回302状态码时,CDN节点会先跳转到302对应地址获取资源,缓存后再返回给用户。
功能介绍
开启此项配置后,当CDN节点回源请求源站返回302状态码时,CDN节点会先跳转到302对应地址获取资源并缓存后再返回给用户。
URI
PUT /v1.0/cdn/domains/{domainId}/follow302-switch
Copied!
// set follow 302
Follow302Status f302Status = Follow302Status.builder().follow302Status("off").build();
Follow302 f302 = osclient.cdn().domains().setFollow302(domainId, f302Status);
System.out.println(f302);
System.out.println("domain setFollow302 success...");
设置Referer过滤规则
配置referer黑白名单,通过设置的过滤策略,对访问者身份进行识别和过滤,实现限制访问来源的目的。
功能介绍
设置Referer过滤规则。通过设置过滤策略,对访问者身份进行识别和过滤,实现限制访问来源的目的。
URI
PUT /v1.0/cdn/domains/{domainId}/referer
Copied!
// set referer
Referer referferNew = Referer.builder().refererList("www.xxx.com;www.xxx2.com").refererType(2)
.includeEmpty(true).build();
Referer referer = osclient.cdn().domains().setReferer(domainId, referferNew, params);
System.out.println(referer);
System.out.println("domain setReferer success...");
查询Referer过滤规则
功能介绍
查询Referer过滤规则。
URI
GET /v1.0/cdn/domains/{domainId}/referer
Copied!
// get referer
Referer referers = osclient.cdn().domains().getReferer(domainId, params);
System.out.println(referers);
System.out.println("domain getReferer success...");
查询IP黑白名单
功能介绍
查询域名已经设置的IP黑白名单。
URI
GET /v1.0/cdn/domains/{domainId}/ip-acl
Copied!
// get ip-acl
IpAclList ipAcllists = osclient.cdn().domains().getIpAcl(domainId);
System.out.println(ipAcllists);
System.out.println("domain getIpAcl success...");
设置IP黑白名单
配置IP黑白名单,通过设置过滤策略,对用户请求IP地址进行过滤,从而限制访问来源。
功能介绍
设置域名的IP黑白名单。
URI
PUT /v1.0/cdn/domains/{domainId}/ip-acl
Copied!
// set ip-acl
List<String> newIpAcls = new ArrayList<>();
newIpAcls.add("1.2.3.5");
newIpAcls.add("2.3.4.5");
IpAclList newIpAclList = IpAclList.builder().type(1).ipList(newIpAcls).build();
IpAcl ipAcl = osclient.cdn().domains().setIpAcl(domainId, newIpAclList);
System.out.println(ipAcl);
System.out.println("domain setIpAcl success...");
设置缓存规则
功能介绍
设置CDN节点上缓存资源的缓存策略。
URI
PUT /v1.0/cdn/domains/{domainId}/cache
您可以配置CDN节点中某个或某些缓存资源的缓存间隔时间规则。达到设置的缓存间隔时间后,当用户向CDN节点请求资源时,CDN会直接回源站拉取对应的最新资源返回给用户,并缓存到CDN节点中。
Copied!
// set cacheConfig
CacheRule rule1 = CacheRule.builder().rule_type(0).ttl(2).ttlType(3).priority(10).build();
CacheRule rule2 = CacheRule.builder().rule_type(1).content(".jpg;.png").ttl(2).ttlType(3).priority(11).build();
List<CacheRule> rules = new ArrayList<>();
rules.add(rule1);
rules.add(rule2);
CacheConfig newCacheConfig = CacheConfig.builder().ignoreUrlParameter(true).rules(rules).build();
CacheConfig cacheConfig = osclient.cdn().domains().setCacheConfig(domainId, newCacheConfig, params);
System.out.println(cacheConfig);
System.out.println("domain setCacheConfig success...");
查询缓存规则
功能介绍
查询缓存规则。
URI
GET /v1.0/cdn/domains/{domainId}/cache
Copied!
// get CacheConfig
cacheConfig = osclient.cdn().domains().getCacheConfig(domainId, params);
System.out.println(cacheConfig);
System.out.println("domain getCacheConfig success...");
配置HTTPS
功能介绍
设置加速域名HTTPS。通过配置加速域名的HTTPS证书,并将其部署在全网CDN节点,实现HTTPS安全加速。
URI
PUT /v1.0/cdn/domains/{domain_id}/https-info
通过配置加速域名的HTTPS证书,并将其部署在全网CDN节点,实现HTTPS安全加速。此项配置非必选配置,如果您需要使用https访问则为必选配置。
Copied!
// set httpsInfo
// https on
HttpsInfo newHttpsInfo1 = HttpsInfo.builder().httpsStatus(2)
.certName("cdn_test_cert").certificate("xxxxxxx")
.privateKey("xxxxxxx").forceRedirectHttps(0).http2(0)
.build();
HttpsInfo httpsInfo1 = osclient.cdn().domains().setHttpsInfo(domainId, newHttpsInfo1, params);
System.out.println(httpsInfo1);
System.out.println("domain setHttpsInfo success...");
// https off
HttpsInfo newHttpsInfo2 = HttpsInfo.builder().httpsStatus(0).build();
HttpsInfo httpsInfo2 = osclient.cdn().domains().setHttpsInfo(domainId, newHttpsInfo2, params);
System.out.println(httpsInfo2);
System.out.println("domain setHttpsInfo success...");
查询HTTPS配置
功能介绍
获取加速域名证书。
URI
GET /v1.0/cdn/domains/{domain_id}/https-info
Copied!
// get httpsInfo
HttpsInfo httpsInfo3 = osclient.cdn().domains().getHttpsInfo(domainId, params);
System.out.println(httpsInfo3);
System.out.println("domain getHttpsInfo success...");
查询IP归属信息
功能介绍
查询IP归属信息。
URI
GET /v1.0/cdn/ip-info
Copied!
// get cdn ip-info
params.put("ips", "x.x.x.x,x.x.x.x");
CdnIP.CdnIPs cdnips = osclient.cdn().domains().queryCdnIPs(params);
System.out.println(cdnips.getList());
新增/修改响应头配置
功能介绍
新增/修改域名响应头配置。
URI
URI格式
PUT /v1.0/cdn/domains/{domainId}/response-header
当您使用HTTP Header 配置功能,用户请求加速域名下的资源时,可以在返回的响应消息中添加您配置的消息头,以实现跨域访问等目的。
Copied!
// set response header
ResponseHeader newResponseHeader = ResponseHeader.builder()
.accessControlAllowMethods("GET")
.accessControlAllowOrigin("http://www.test.com")
.accessControlMaxAge("123")
.conteaccessControlExposeHeaders("content-type")
.contentLanguage("zh-CN")
.contentDisposition("test.xml").build();
ResponseHeader responseHeader1 = osclient.cdn().domains().setResponseHeader(domainId, newResponseHeader);
System.out.println(responseHeader1);
System.out.println("domain setResponseHeader success...");
查询响应头配置
功能介绍
列举header所有配置。
URI
URI格式
GET /v1.0/cdn/domains/{domainId}/response-header
Copied!
// get response header
ResponseHeader responseHeader2 = osclient.cdn().domains().getResponseHeader(domainId);
System.out.println(responseHeader2);
System.out.println("domain getResponseHeader success...");
刷新预热
CDN提供资源的缓存刷新和缓存预热功能。
- 缓存刷新:提交缓存刷新请求后,CDN节点的缓存内容将会被删除,当用户向CDN节点请求资源时,CDN会直接回源站拉取对应的资源。
- 缓存预热:提交缓存预热请求后,源站将会主动将对应的资源缓存到CDN节点,用户就能直接从CDN节点获取到最新的资源。
创建刷新缓存任务
功能介绍
创建刷新缓存任务。
URI
POST /v1.0/cdn/refreshtasks
Copied!
// create refreshTask
List<String> refreshTaskUrls = new ArrayList<>();
refreshTaskUrls.add("http://example.domain.com/web");
refreshTaskUrls.add("http://example.domain.com/index.html");
RefreshTaskCreate refreshTaskCreate = RefreshTaskCreate.builder().type("file").urls(refreshTaskUrls).build();
RefreshTask refreshTask = osclient.cdn().domains().createRefreshTask(refreshTaskCreate, params);
System.out.println(refreshTask);
System.out.println("CreateRefreshTask success...");
创建预热缓存任务
功能介绍
创建预热任务。
URI
POST /v1.0/cdn/preheatingtasks
Copied!
// create preheatingTask
List<String> urls = new ArrayList<>();
urls.add("http://example.domain.com/test.jpg");
urls.add("http://example.domain.com/test/di.png");
PreheatingTaskCreate preheatingTaskCreation = PreheatingTaskCreate.builder().urls(urls).build();
PreheatingTask preheatingTask = osclient.cdn().domains().createPreheatingTask(preheatingTaskCreation, params);
System.out.println(preheatingTask);
System.out.println("CreatePreheatingTask success...");
查询预热缓存任务
功能介绍
查询刷新预热任务。
URI
GET /v1.0/cdn/historytasks
Copied!
// query historyTasks
Task.Tasks tasks = osclient.cdn().domains().queryTasks(params);
System.out.println(tasks.getList());
System.out.println("QueryHistoryTasks success...");
查询刷新预热任务详情
功能介绍
查询3天内的刷新预热任务详情。
URI
GET /v1.0/cdn/historytasks/{historyTasksId}/detail
Copied!
// query historyTasksDetail
String taskId = "8888888";
TaskDetail taskDetail = osclient.cdn().domains().getTaskDetail(taskId, params);
System.out.println(taskDetail);
System.out.println("QueryTaskDetail success...");
版本说明
本示例基于华为云SDK V1.0版本开发,高版本示例正在开发中。
功能介绍
CDN(Content Delivery Network,内容分发网络)。CDN是构建在现有互联网基础之上的一层智能虚拟网络,通过在网络各处部署节点服务器,实现将源站内容分发至所有CDN节点,使用户可以就近获得所需的内容。CDN服务缩短了用户查看内容的访问延迟,提高了用户访问网站的响应速度与网站的可用性,解决了网络带宽小、用户访问量大、网点分布不均等问题。
本文档提供了相关API对CDN进行域名操作、域名配置、刷新预热相关操作。
应用场景
华为云CDN主要的应用场景包括:
网站加速
适用于有加速需求的网站,包括门户网站、电商平台、资讯APP、 UGC应用( User Generated Content,用户原创内容)等。 CDN网络能够对加速域名下的静态内容在全国范围内提供良好的加速服务。
如图1所示:
文件下载加速
适用于通过http/https提供文件下载业务的网站、下载工具、游戏客户端、 APP商店等,也能为软件实时更新业务进行加速,包括APP更新,手游更新等,减少用户等待时间,提升用户转化率
如图2所示:
点播加速
适用于提供音视频点播服务的客户。例如:在线教育类网站、在线视频分享网站、互联网电视点播平台、音乐视频点播APP等。CDN点播加速、直播加速可以提供快速、稳定和安全的点播加速服务
如图3所示:
全站加速
适用于各行业动静态内容混合,含较多动态资源请求(如asp、jsp、php等格式的文件)的网站。全站加速融合了动态和静态加速,用户请求资源时,静态内容从边缘节点就近获取,动态内容通过动态加速技术智能选择较优路由回源获取。
如图4所示:
准备工作
1.CDN服务软件开发工具包(CDN SDK,Content Delivery Network Software Development Kit)是对CDN服务提供的REST API进行的封装,以简化用户的开发工作。用户直接调用CDN SDK提供的接口函数即可实现使用CDN服务业务能力的目的。相关开发包和参考文档请从华为云CDN开发工具包(SDK)获取。 2.要开通CDN服务,在执行本章操作前,请确认您注册华为云账号并完成实名认证。
调用API说明
CDN提供了REST(Representational State Transfer)风格API,支持您通过HTTPS请求调用,调用方法请参见 如何调用API。 您还可以通过这个视频教程了解如何构造请求调用API,点击查看
同时CDN还提供多种编程语言的SDK供您使用,SDK的使用方法请参见CDN SDK。
终端节点
终端节点即调用API的请求地址,CDN部署时不区分物理区域,为全局级服务。因此,CDN的终端节点如表1所示。您也可以从地区和终端节点中查询服务的终端节点。
表1 CDN的终端节点
域名操作、域名配置、刷新预热
搭建环境
认证鉴权
搭建好环境之后需要去认证鉴权,有如下两种认证方式,您可以选择其中一种进行认证鉴权。 Token认证:通过Token认证通用请求。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。推荐使用AK/SK认证,其安全性比Token认证要高。
1.Token认证
Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。
URI
POST /v3/auth/tokens
Token可通过调用获取用户Token接口获取,调用本服务API需要全局级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择domain,如下所示。
获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”
代码如下:
您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。
2.AK/SK认证
AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。
代码如下:
您也可以通过这个视频教程了解AK/SK认证的使用:https://bbs.huaweicloud.com/videos/69d4cf0269c34d41ab3dff02c73dd6c9 。
快速入门
此案例通过调用一系列CDN的API来创建加速域名,让您快速入门了解,详情参考。
域名操作
查询加速域名
功能介绍
查询加速域名信息。
URI
GET /v1.0/cdn/domains
创建加速域名
如果您想通过CDN加速指定网站的业务,那么您要将需要加速的网站作为源站,并为其创建加速域名。CDN通过加速域名将源站上需要加速的内容缓存到CDN节点,达到加速访问资源的效果。
功能介绍
创建加速域名。
URI
POST /v1.0/cdn/domains
查询加速域名详情
功能介绍
查询加速域名详情。
URI
GET /v1.0/cdn/domains/{domainId}/detail
删除加速域名
功能介绍
删除加速域名。
URI
DELETE /v1.0/cdn/domains/{domainId}
启用加速域名
功能介绍
启用加速域名。
URI
PUT /v1.0/cdn/domains/{domainId}/enable
停用加速域名
功能介绍
停用加速域名。
URI
PUT /v1.0/cdn/domains/{domainId}/disable
域名配置
域名添加完成后,您可以根据业务需求对加速域名进一步自定义配置。自定义配置项包括源站配置、回源配置(回源HOST配置、Range回源配置、302回源跟随配置、OBS私有桶回源配置)、HTTPS配置、缓存配置、访问控制(防盗链配置、IP黑白名单配置)、高级配置(HTTP header配置)。
修改源站信息
源站是您的网站服务器,是CDN加速分发数据的来源。若您的源站信息需要修改(如源站IP,源站域名、OBS桶域名或回源端口),您可以通过CDN服务提供的API修改源站信息。
功能介绍
修改源站信息。源站IP地址或域名都可以指引CDN节点回源到对应的源站服务器,源站域名不能与加速域名相同。
URI
PUT /v1.0/cdn/domains/{domainId}/origin
修改回源HOST
回源HOST是CDN回源过程中,在源站访问的站点域名,即HTTP请求头中的HOST信息。配置回源HOST后,CDN在回源过程中会根据HOST信息去对应站点获取资源。 功能介绍
修改回源HOST。回源HOST是CDN节点在回源过程中,在源站访问的站点域名,即http请求头中的host信息。
URI
PUT /v1.0/cdn/domains/{domainId}/originhost
查询回源HOST
功能介绍
查询回源HOST。回源HOST是CDN节点在回源过程中,在源站访问的站点域名,即http请求头中的host信息。
URI
GET /v1.0/cdn/domains/{domainId}/originhost
开启/关闭Range回源
Range回源是指源站在收到CDN节点回源请求时,根据http请求头中的Range信息返回指定范围的数据给CDN节点。 功能介绍
Range回源是指源站在收到CDN节点回源请求时,根据http请求头中的Range信息返回指定范围的数据给CDN节点。
接口约束
开启Range回源前需要确认源站是否支持Range请求,若源站不支持Range请求,开启Range回源将导致资源无法缓存。
URI
PUT /v1.0/cdn/domains/{domainId}/range-switch
开启/关闭302回源跟随
开启302回源跟随配置后,当CDN节点回源请求源站返回302状态码时,CDN节点会先跳转到302对应地址获取资源,缓存后再返回给用户。 功能介绍
开启此项配置后,当CDN节点回源请求源站返回302状态码时,CDN节点会先跳转到302对应地址获取资源并缓存后再返回给用户。
URI
PUT /v1.0/cdn/domains/{domainId}/follow302-switch
设置Referer过滤规则
配置referer黑白名单,通过设置的过滤策略,对访问者身份进行识别和过滤,实现限制访问来源的目的。 功能介绍
设置Referer过滤规则。通过设置过滤策略,对访问者身份进行识别和过滤,实现限制访问来源的目的。
URI
PUT /v1.0/cdn/domains/{domainId}/referer
查询Referer过滤规则
功能介绍
查询Referer过滤规则。
URI
GET /v1.0/cdn/domains/{domainId}/referer
查询IP黑白名单
功能介绍
查询域名已经设置的IP黑白名单。
URI
GET /v1.0/cdn/domains/{domainId}/ip-acl
设置IP黑白名单
配置IP黑白名单,通过设置过滤策略,对用户请求IP地址进行过滤,从而限制访问来源。 功能介绍
设置域名的IP黑白名单。
URI
PUT /v1.0/cdn/domains/{domainId}/ip-acl
设置缓存规则
功能介绍
设置CDN节点上缓存资源的缓存策略。
URI
PUT /v1.0/cdn/domains/{domainId}/cache 您可以配置CDN节点中某个或某些缓存资源的缓存间隔时间规则。达到设置的缓存间隔时间后,当用户向CDN节点请求资源时,CDN会直接回源站拉取对应的最新资源返回给用户,并缓存到CDN节点中。
查询缓存规则
功能介绍
查询缓存规则。
URI
GET /v1.0/cdn/domains/{domainId}/cache
配置HTTPS
功能介绍
设置加速域名HTTPS。通过配置加速域名的HTTPS证书,并将其部署在全网CDN节点,实现HTTPS安全加速。
URI
PUT /v1.0/cdn/domains/{domain_id}/https-info 通过配置加速域名的HTTPS证书,并将其部署在全网CDN节点,实现HTTPS安全加速。此项配置非必选配置,如果您需要使用https访问则为必选配置。
查询HTTPS配置
功能介绍
获取加速域名证书。
URI
GET /v1.0/cdn/domains/{domain_id}/https-info
查询IP归属信息
功能介绍
查询IP归属信息。
URI
GET /v1.0/cdn/ip-info
新增/修改响应头配置
功能介绍
新增/修改域名响应头配置。
URI
URI格式
PUT /v1.0/cdn/domains/{domainId}/response-header 当您使用HTTP Header 配置功能,用户请求加速域名下的资源时,可以在返回的响应消息中添加您配置的消息头,以实现跨域访问等目的。
查询响应头配置
功能介绍
列举header所有配置。
URI
URI格式
GET /v1.0/cdn/domains/{domainId}/response-header
刷新预热
CDN提供资源的缓存刷新和缓存预热功能。
创建刷新缓存任务
功能介绍
创建刷新缓存任务。
URI
POST /v1.0/cdn/refreshtasks
创建预热缓存任务
功能介绍
创建预热任务。
URI
POST /v1.0/cdn/preheatingtasks
查询预热缓存任务
功能介绍
查询刷新预热任务。
URI
GET /v1.0/cdn/historytasks
查询刷新预热任务详情
功能介绍
查询3天内的刷新预热任务详情。
URI
GET /v1.0/cdn/historytasks/{historyTasksId}/detail
参考
API更多信息请参考API概览。