|
| 1 | +# 配置文档 |
| 2 | + |
| 3 | +## 全量参数 |
| 4 | + |
| 5 | +```yml |
| 6 | +# serverless.yml |
| 7 | + |
| 8 | +component: tencent-website |
| 9 | +name: websitedemo |
| 10 | +org: test |
| 11 | +app: websiteApp |
| 12 | +stage: dev |
| 13 | + |
| 14 | +inputs: |
| 15 | + src: |
| 16 | + root: ./ |
| 17 | + src: ./src |
| 18 | + hook: npm run build |
| 19 | + index: index.html |
| 20 | + error: index.html |
| 21 | + websitePath: ./ |
| 22 | + region: ap-guangzhou |
| 23 | + bucketName: my-bucket |
| 24 | + protocol: http |
| 25 | + hosts: |
| 26 | + - host: anycoder.cn |
| 27 | + - host: abc.com |
| 28 | + fullUrl: on |
| 29 | + 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: |
| 45 | + - '1.2.3.4' |
| 46 | + - '2.3.4.5' |
| 47 | + https: |
| 48 | + certId: 123 |
| 49 | + cert: 123 |
| 50 | + privateKey: 123 |
| 51 | + http2: off |
| 52 | + httpsType: 2 |
| 53 | + forceSwitch: -2 |
| 54 | + env: |
| 55 | + API_URL: https://api.com |
| 56 | + cors: |
| 57 | + - allowedOrigins: |
| 58 | + - '*.tencent.com' |
| 59 | + - '*.qcloud.com' |
| 60 | + allowedMethods: |
| 61 | + - PUT |
| 62 | + - POST |
| 63 | + - DELETE |
| 64 | + - HEAD |
| 65 | + allowedHeaders: '*' |
| 66 | + maxAgeSeconds: 0 |
| 67 | + - allowedOrigins: |
| 68 | + - '*' |
| 69 | + allowedMethods: |
| 70 | + - GET |
| 71 | + allowedHeaders: '*' |
| 72 | + maxAgeSeconds: 0 |
| 73 | +``` |
| 74 | +
|
| 75 | +## 配置描述 |
| 76 | +
|
| 77 | +主要参数描述 |
| 78 | +
|
| 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加速域名配置 | |
| 89 | +
|
| 90 | +### 执行目录 |
| 91 | +
|
| 92 | +| 参数名称 | 是否必选 | 默认值 | 描述 | |
| 93 | +| ----------- | :------: | :--------: | :------------------------------------------------------ | |
| 94 | +| root | 否 | | 钩子脚本执行构建后,输出的目录。默认为src所指定的目录。 | |
| 95 | +| src | 是 | | 你构建的项目代码目录。 | |
| 96 | +| websitePath | 否 | | 网站根目录。 | |
| 97 | +| hook | 否 | | 钩子脚本。在你项目代码上传之前执行。 | |
| 98 | +| index | 否 | index.html | 网站index页面 | |
| 99 | +| error | 否 | error.html | 网站error页面 | |
| 100 | +
|
| 101 | +### 跨域配置 |
| 102 | +
|
| 103 | +参考: https://cloud.tencent.com/document/product/436/8279 |
| 104 | +
|
| 105 | +| 参数 | 是否必选 | 类型 | Description | |
| 106 | +| -------------- | :------: | -------- | :----------------------------------------------------------- | |
| 107 | +| id | 否 | String | 规则ID | |
| 108 | +| allowedMethods | 是 | String[] | 允许的 HTTP 操作,枚举值:GET,PUT,HEAD,POST,DELETE | |
| 109 | +| allowedOrigins | 是 | String[] | 允许的访问来源,支持通配符`*`,格式为:`协议://域名[:端口]`,例如:`http://www.qq.com` | |
| 110 | +| allowedHeaders | 是 | | 在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,支持通配符`*` | |
| 111 | +| maxAgeSeconds | shi | | 设置 OPTIONS 请求得到结果的有效期 | |
| 112 | + |
| 113 | +### CDN配置 |
| 114 | + |
| 115 | +| 参数名称 | 是否必选 | 默认 | 描述 | |
| 116 | +| --------- | -------- | -------- | ------------------------------------------------------------ | |
| 117 | +| host | 是 | | 需要接入的 CDN 域名。 | |
| 118 | +| fullUrl | 否 | | 过滤参数设置 "on":关闭过滤参数。 "off":开启过滤参数。 下载/点播/直播类型,默认开启过滤参数。 静态类型默认关闭过滤参数。 | |
| 119 | +| cache | 否 | | 缓存过期时间设置,默认为全部文件 30 天,详细说明见下文。 | |
| 120 | +| cacheMode | 否 | 'simple' | 缓存模式设置 "simple":表示缓存完全依赖控制台设置。 "custom":表示缓存依赖控制台设置的缓存时间和源站吐出的 max-age 的最小值。 | |
| 121 | +| refer | 否 | '' | 防盗链设置,详细说明见下文。 | |
| 122 | +| accessIp | 否 | '' | IP 黑白名单配置,详细说明见下文。 | |
| 123 | + |
| 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 | +### |
| 179 | +
|
0 commit comments