Skip to content

Commit f426071

Browse files
committed
feat: update cdn creating logical
1 parent abfc0b0 commit f426071

File tree

12 files changed

+234
-297
lines changed

12 files changed

+234
-297
lines changed

CODE_OF_CONDUCT.md

Lines changed: 0 additions & 75 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

COPYRIGHT

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/configure.md

Lines changed: 75 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -25,32 +25,46 @@ inputs:
2525
hosts:
2626
- host: anycoder.cn
2727
- host: abc.com
28-
fullUrl: on
28+
async: true
29+
autoRefesh: true
2930
cache:
30-
- type: 0
31-
rule: all
32-
time: 1000
33-
- type: 0
34-
rule: all
35-
time: 1000
36-
cacheMode: simple
37-
refer:
38-
- type: 1
39-
list:
40-
- 'qq.baidu.com'
41-
- '*.baidu.com'
42-
accessIp:
43-
type: 1
44-
list:
31+
simpleCache:
32+
followOrigin: on
33+
cacheRules:
34+
- cacheType: all
35+
cacheContents:
36+
- '*'
37+
cacheTime: 1000
38+
cacheKey:
39+
fullUrlCache: on
40+
referer:
41+
switch: on
42+
refererRules:
43+
- ruleType: all
44+
rulePaths:
45+
- '*'
46+
refererType: blacklist
47+
allowEmpty: true
48+
referers:
49+
- 'qq.baidu.com'
50+
- '*.baidu.com'
51+
ipFilter:
52+
switch: on
53+
filterType: blacklist
54+
filters:
4555
- '1.2.3.4'
4656
- '2.3.4.5'
57+
forceRedirect:
58+
switch: on
59+
redirectType: https
60+
redirectStatusCode: 301
4761
https:
48-
certId: 123
49-
cert: 123
50-
privateKey: 123
51-
http2: off
52-
httpsType: 2
53-
forceSwitch: -2
62+
switch: on
63+
http2: on
64+
certInfo:
65+
certId: 'abc'
66+
# certificate: 'xxx'
67+
# privateKey: 'xxx'
5468
env:
5569
API_URL: https://api.com
5670
cors:
@@ -76,104 +90,54 @@ inputs:
7690
7791
主要参数描述
7892
79-
| 参数名称 | 是否必选 | 默认值 | 描述 |
80-
| --------------------------------- | :------: | :----------: | :----------------------------------------------------------- |
81-
| [src](#code-param-description) | 是 | | 该项目的代码信息,参数参考执行目录 |
82-
| region | 否 | ap-guangzhou | 代码上传所在的cos区域。默认为广州区。 |
83-
| bucketName | 是 | | Bucket 名称。 不允许大写字母。如果你不加AppId后缀,则默认自动会为你加上。 |
84-
| protocol | 否 | https | 请求协议。Https 或 http |
85-
| env | 否 | | 环境变量参数文件。会将env下配置的参数写入env.js文件中,将该文件打包上传到你的代码里。 |
86-
| envPath | 否 | | 生成的env.js存放在你项目中的路径。默认是当前工作路径。 |
87-
| [cors](#cors-param-description) | 否 | | 跨域访问配置 |
88-
| [hosts](#hosts-param-description) | 否 | | CND加速域名配置 |
93+
| 参数名称 | 是否必选 | 默认值 | 描述 |
94+
| ------------------------------- | :------: | :----------: | :---------------------------------------------------------------------------------------- |
95+
| [src](#code-param-description) | 是 | | 该项目的代码信息,参数参考执行目录 |
96+
| region | 否 | ap-guangzhou | 代码上传所在的 cos 区域。默认为广州区。 |
97+
| bucketName | 是 | | Bucket 名称。 不允许大写字母。如果你不加 AppId 后缀,则默认自动会为你加上。 |
98+
| protocol | 否 | https | 请求协议。Https 或 http |
99+
| env | 否 | | 环境变量参数文件。会将 env 下配置的参数写入 env.js 文件中,将该文件打包上传到你的代码里。 |
100+
| envPath | 否 | | 生成的 env.js 存放在你项目中的路径。默认是当前工作路径。 |
101+
| [cors](#cors-param-description) | 否 | | 跨域访问配置 |
102+
| [hosts](#CDN-配置) | 否 | | CND 加速域名配置 |
89103
90104
### 执行目录
91105
92-
| 参数名称 | 是否必选 | 默认值 | 描述 |
93-
| ----------- | :------: | :--------: | :------------------------------------------------------ |
94-
| root | 否 | | 钩子脚本执行构建后,输出的目录。默认为src所指定的目录。 |
95-
| src | 是 | | 你构建的项目代码目录。 |
96-
| websitePath | 否 | | 网站根目录。 |
97-
| hook | 否 | | 钩子脚本。在你项目代码上传之前执行。 |
98-
| index | 否 | index.html | 网站index页面 |
99-
| error | 否 | error.html | 网站error页面 |
106+
| 参数名称 | 是否必选 | 默认值 | 描述 |
107+
| ----------- | :------: | :--------: | :-------------------------------------------------------- |
108+
| root | 否 | | 钩子脚本执行构建后,输出的目录。默认为 src 所指定的目录。 |
109+
| src | 是 | | 你构建的项目代码目录。 |
110+
| websitePath | 否 | | 网站根目录。 |
111+
| hook | 否 | | 钩子脚本。在你项目代码上传之前执行。 |
112+
| index | 否 | index.html | 网站 index 页面 |
113+
| error | 否 | error.html | 网站 error 页面 |
100114
101115
### 跨域配置
102116
103-
参考: https://cloud.tencent.com/document/product/436/8279
117+
参考: https://cloud.tencent.com/document/product/436/8279
104118
105-
| 参数 | 是否必选 | 类型 | Description |
106-
| -------------- | :------: | -------- | :----------------------------------------------------------- |
107-
| id | 否 | String | 规则ID |
108-
| allowedMethods | 是 | String[] | 允许的 HTTP 操作,枚举值:GET,PUT,HEAD,POST,DELETE |
109-
| allowedOrigins | 是 | String[] | 允许的访问来源,支持通配符`*`,格式为:`协议://域名[:端口]`,例如:`http://www.qq.com` |
119+
| 参数 | 是否必选 | 类型 | Description |
120+
| -------------- | :------: | -------- | :--------------------------------------------------------------------------------------------- |
121+
| id | 否 | String | 规则 ID |
122+
| allowedMethods | 是 | String[] | 允许的 HTTP 操作,枚举值:GET,PUT,HEAD,POST,DELETE |
123+
| allowedOrigins | 是 | String[] | 允许的访问来源,支持通配符`*`,格式为:`协议://域名[:端口]`,例如:`http://www.qq.com` |
110124
| allowedHeaders | 是 | | 在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,支持通配符`*` |
111-
| maxAgeSeconds | shi | | 设置 OPTIONS 请求得到结果的有效期 |
125+
| maxAgeSeconds | shi | | 设置 OPTIONS 请求得到结果的有效期 |
112126

113-
### CDN配置
127+
### CDN 配置
114128

115-
| 参数名称 | 是否必选 | 默认 | 描述 |
116-
| --------- | -------- | -------- | ------------------------------------------------------------ |
117-
| host | 是 | | 需要接入的 CDN 域名。 |
118-
| fullUrl | 否 | | 过滤参数设置 "on":关闭过滤参数。 "off":开启过滤参数。 下载/点播/直播类型,默认开启过滤参数。 静态类型默认关闭过滤参数。 |
119-
| cache | 否 | | 缓存过期时间设置,默认为全部文件 30 天,详细说明见下文。 |
120-
| cacheMode | 否 | 'simple' | 缓存模式设置 "simple":表示缓存完全依赖控制台设置。 "custom":表示缓存依赖控制台设置的缓存时间和源站吐出的 max-age 的最小值。 |
121-
| refer | 否 | '' | 防盗链设置,详细说明见下文。 |
122-
| accessIp | 否 | '' | IP 黑白名单配置,详细说明见下文。 |
129+
| 参数名称 | 是否必选 | 默认 | 描述 |
130+
| ---------- | -------- | ------- | --------------------------------------------------------------------------------- |
131+
| async | 否 | `false` | 是否为异步操作,如果为 true,则不会等待 CDN 创建或更新成功再返回, |
132+
| autoRefesh | 否 | `false` | 是否自动刷新预热 CDN |
133+
| host | 是 | | 需要接入的 CDN 域名。 |
134+
| host | 是 | | 需要接入的 CDN 域名。 |
135+
| https | 否 | | Https 加速配置,参考:https://cloud.tencent.com/document/api/228/30987#Https |
136+
| cacheKey | 否 | | 节点缓存键配置,参考:https://cloud.tencent.com/document/api/228/30987#CacheKey |
137+
| cache | 否 | | 缓存过期时间配置,参考: https://cloud.tencent.com/document/api/228/30987#Cache |
138+
| referer | 否 | '' | 防盗链设置,参考: https://cloud.tencent.com/document/api/228/30987#Referer |
139+
| ipFilter | 否 | '' | IP 黑白名单配置,参考: https://cloud.tencent.com/document/api/228/30987#IpFilter |
123140

124-
#### cache
125-
126-
| 参数名称 | 是否必选 | 默认 | 描述 |
127-
| -------- | -------- | ---- | ------------------------------------------------------------ |
128-
| type | 是 | 0 | 缓存类型 - 0:全部类型,表示匹配所有文件,默认缓存配置。 - 1:文件类型,表示按文件后缀匹配。 - 2:文件夹类型,表示按目录匹配。 - 3:全路径匹配。 |
129-
| rule | 是 | | 匹配规则,对应第一个参数的缓存类型 - 0:固定填充 “all”,表示所有文件。 - 1:后缀,.jps;.js 等,`;` 分隔。 - 2:目录,如 /www/anc;/a/b 等,`;`分隔。 - 3:全路径,如 /a/1.html;/b/2.html 等,`;`分隔。 |
130-
| time | 是 | | 缓存过期时间,单位为秒 |
131-
132-
**参数示例**
133-
134-
```
135-
[[0,"all",1000],[1,".jpg;.js",2000],[2,"/a;/www/b",3000],[3,"/a/1.html;/b/2.html",1000]]
136-
```
137-
138-
填入规则的优先级,从前往后,从低到高。
139-
140-
#### refer
141-
142-
| 参数名称 | 是否必选 | 默认 | 描述 |
143-
| -------- | -------- | ---- | ------------------------------------------------------------ |
144-
| type | 是 | 0 | refer 类型 - 0: 不设置防盗链。 - 1:设置黑名单。 - 2:设置白名单。 |
145-
| list | 是 | | 具体的名单列表 |
146-
| empty | 是 | | 是否包含空 refer - 1:包含空 refer。 - 0:不包含空 refer。 |
147-
148-
**参数示例**
149-
150-
```
151-
[1,["qq.baidu.com", "*.baidu.com"],1]
152-
```
153-
154-
#### accessIp
155-
156-
| 参数名称 | 是否必选 | 默认 | 描述 |
157-
| -------- | -------- | ---- | ------------------------------------------------------------ |
158-
| type | 是 | 0 | 黑名单类型 - 1:黑名单。 - 2:白名单。 |
159-
| list | 是 | | 对应的黑名单 IP 列表,支持/8、/16、/24 格式的网段设置。最多可设置 100 条 IP 黑名单,或者 50 条 IP 白名单 |
160-
161-
**参数示例**
162-
163-
```
164-
{"type":1,"list":["1.2.3.4","2.3.4.5"]}
165-
```
166-
167-
#### https
168-
169-
| 参数名称 | 是否必选 | 默认 | 描述 |
170-
| ----------- | -------- | ----- | ------------------------------------------------------------ |
171-
| httpsType | 否 | | Int 配置类型设置 "0" :清除 HTTPS 配置,无需填写证书及私钥参数 "1":上传自有证书,并 HTTP 回源 "2":上传自有证书,并协议跟随回源 "3":使用托管证书,并 HTTP 回源 "4":使用托管证书,并 协议跟随回源 1&2 名未配置证书或配置的是自有证书,则 必须上传 cert 及 privateKey 3&4 域名未配置证书或配置的是托管证书,则必须传递 certId |
172-
| cert | 否 | | PEM 格式证书,内容必须 `Base64` 编码, 或者是证书路径,如果是相对路径,则是相对当前项目根目录的路径 |
173-
| privateKey | 否 | | PEM 格式私钥,内容必须 `Base64` 编码, 或者是私钥路径,如果是相对路径,则是相对当前项目根目录的路径 |
174-
| forceSwitch | 否 | `-2` | 强制跳转开关 "1":HTTP 强制跳转 "-1":关闭 HTTP 强制跳转 "2":开启 HTTPS 强制跳转(302) "-2":关闭 HTTPS 强制跳转(302) "3":开启 HTTPS 强制跳转(301) "-3":关闭 HTTPS 强制跳转(301) 如果开启 `http2`,此参数必须配置为 `2`,开启 HTTPS 强制跳转(302) |
175-
| http2 | 否 | 'off' | HTTP2.0 开关 "on":开启 HTTP2.0 "off":关闭 HTTP2.0 |
176-
| certId | 否 | | 证书 ID,可通过接口 查询托管证书列表获取,如果设置此项,优先使用它,即使设置了 `cert` 和 `privateKey` |
177-
178-
###
141+
> 注意:`async` 参数对于配置多个 CDN 域名需求,或者在 CI 流程中时,建议配置成 `true`,不然会导致 serverless cli 执行超时,或者 CI 流程超时。
179142

143+
更多配置,请移至官方云 API 文档:https://cloud.tencent.com/document/product/228/41123

0 commit comments

Comments
 (0)