腾讯云 Serverless 应用中心 - 内容分发网络 CDN 组件
文档简介:
操作场景:
腾讯云 CDN 组件是 serverless-tencent 组件库中的基础组件之一。通过 CDN 组件,您可以快速方便的创建、配置和管理腾讯云的 CDN 产品。
操作场景
腾讯云 CDN 组件是 serverless-tencent 组件库中的基础组件之一。通过 CDN 组件,您可以快速方便的创建、配置和管理腾讯云的 CDN 产品。
前提条件
已安装 Node.js(Node.js 版本需不低于 8.6,建议使用 Node.js10.0 及以上版本)。
需要开通 内容分发网络 服务。
操作步骤
安装
已经安装 Serverless Cloud Framework 。详情请参见 安装 Serverless Cloud Framework。
配置
本地创建 serverless.yml 文件:
touch serverless.yml
在 serverless.yml 中进行如下配置:
# serverless.ymlcomponent: cdnname: cdnDemoapp: appDemostage: devinputs:area: overseasdomain: mysite.com #域名origin:origins:- xxx.cos.ap-guangzhou.myqcloud.com #源站,可以是域名或 IPoriginType: cosoriginPullProtocol: httpsserviceType: webforceRedirect:switch: onredirectType: httpsredirectStatusCode: 301https:switch: onhttp2: oncertInfo:certId: 'abc'# certificate: 'xxx'# privateKey: 'xxx'
查看详细配置文档 >>
部署
执行以下命令进行扫码授权部署:
scf deploy
说明
微信扫码授权部署有过期时间,如果想要持久授权,请参考 账号配置。
移除
执行以下命令移除部署的服务:
仅删除云函数相关的配置、代码。
关联的其他云资源(如 COS、CLS 等),平台均不会关联删除,您可以前往对应产品控制台删除,避免不必要的计费。
scf remove
账号配置(可选)
当前默认支持 CLI 扫描二维码登录,如您希望配置持久的环境变量/密钥信息,也可以本地创建 .env 文件:
touch .env # 腾讯云的配置信息
在 .env 文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存:
# .envTENCENT_SECRET_ID=123TENCENT_SECRET_KEY=123
说明
如果没有腾讯云账号,请先 注册新账号。
如果已有腾讯云账号,可以在 API 密钥管理 中获取 SecretId 和 SecretKey。
配置详情
全部配置
# serverless.ymlcomponent: cdnname: cdnDemoorg: orgDemoapp: appDemostage: devinputs:domain: abc.comarea: overseasasync: trueonlyRefresh: falseserviceType: weborigin:origins:- origin.site.comoriginType: cosoriginPullProtocol: httpshttps:switch: onhttp2: oncertInfo:certId: 'abc'refreshCdn:urls:- https://abc.compushCdn:urls:- https://abc.comcache:simpleCache:followOrigin: oncacheRules:- cacheType: allcacheContents:- '*'cacheTime: 1000cacheKey:fullUrlCache: onreferer:switch: onrefererRules:- ruleType: allrulePaths:- '*'refererType: blacklistallowEmpty: truereferers:- 'qq.baidu.com'- '*.baidu.com'ipFilter:switch: onfilterType: blacklistfilters:- '1.2.3.4'- '2.3.4.5'forceRedirect:switch: onredirectType: httpsredirectStatusCode: 301
配置说明
CDN 配置
参数名称
|
是否必选
|
默认值
|
描述
|
domain
|
是
|
-
|
CDN 域名。
|
origin
|
是
|
-
|
源站配置,详情见 origin。
|
area
|
否
|
mainland
|
域名加速区域:
mainland:中国境内加速
overseas:中国境外加速
global:全球加速
(使用中国境外加速、全球加速时,需要先开通中国境外加速服务)
|
serviceType
|
否
|
web
|
加速域名业务类型。
web:静态加速
download:下载加速
media:流媒体点播加速
|
async
|
否
|
false
|
是否为异步操作,如果为 true,则不会等待 CDN 创建或更新成功再返回。
|
onlyRefresh
|
否
|
false
|
是否只刷新预热 CDN,如果为 true,那么只进行刷新操作,不会更新 CDN 配置。
|
refreshCdn
|
否
|
-
|
刷新 CDN 相关配置,详情见 refreshCdn,如果想刷新 CDN,必须在同步部署情况下,也就是 async 必须配置为 false。
|
pushCdn
|
否
|
-
|
预热 CDN 相关配置,详情见 pushCdn,如果想预热 CDN,必须在同步部署情况下,也就是 async 必须配置为 false。
|
https
|
否
|
-
|
Https 加速配置,详情见 https。
|
cacheKey
|
否
|
-
|
节点缓存键配置,详情见 cacheKey。
|
cache
|
否
|
-
|
缓存过期时间配置,详情见 cache。
|
referer
|
否
|
-
|
防盗链设置,详情见 referer。
|
ipFilter
|
否
|
-
|
IP 黑白名单配置,详情见 IpFilter。
|
注意:
async 参数对于配置多个 CDN 域名需求,或者在 CI 流程中时,建议配置成 true,不然会导致 serverless cli 执行超时,或者 CI 流程超时。
origin
详情见 文档。
参数名称
|
是否必选
|
默认
|
描述
|
origins
|
是
|
-
|
主源站列表
|
originType
|
是
|
domain
|
主源站类型。
domain:域名类型
cos:对象存储源站
|
originPullProtocol
|
是
|
http
|
回源协议配置。
http:强制 http 回源
follow:协议跟随回源
https:强制 https 回源,https 回源时仅支持源站443端口
|
serverName
|
否
|
-
|
回主源站时 Host 头部,不填充则默认为加速域名。若接入的是泛域名,则回源 Host 默认为访问时的子域名。
|
cosPrivateAccess
|
否
|
-
|
originType 为对象存储(COS)时,可以指定是否允许访问私有 bucket。注意:需要先授权 CDN 访问该私有 Bucket 的权限后,才可开启此配置。
|
backupOrigins
|
否
|
-
|
备源站列表。
|
backupOriginType
|
否
|
domain
|
备源站类型。
domain:域名类型
cos:对象存储源站
|
backupServerName
|
否
|
-
|
回备源站时 Host 头部,不填充则默认为加速域名。若接入的是泛域名,则回源 Host 默认为访问时的子域名。
|
refreshCdn
参数名称
|
是否必选
|
默认
|
描述
|
urls
|
否
|
[]
|
需要刷新的 CDN 目录
|
pushCdn
参数名称
|
是否必选
|
默认
|
描述
|
urls
|
否
|
[]
|
需要预热的 CDN URLs
|
更多配置,请参见 新增加速域名。