# 静态资源配置
微信云托管-静态资源存储-静态资源配置中管理所有资源文件内容,并可以查看上传后文件的详细信息。
# 一、域名配置
静态资源存储提供默认的域名,可以直接使用,用于开发测试和产品体验。
你可以设置索引文件,默认是 index.html
当你访问域名时,会直接路由到你资源中根目录的 index.html 文件。
如果资源中根目录有一个文件夹 res , res 文件夹中有一个文件 test.html,你想设置这个文件为索引文件,则需要填写如下路径:
res/test.html
如果有多级文件夹,则依次填写,文件夹之间用 / 隔开。
自定义域名配置相关参考对应文档
当前我们正在加紧支持静态资源存储的自定义域名(2021 年 12 月 16 日)
# 二、缓存配置
可以针对文件的 CDN 回源时间进行管理,默认所有文件的回源时间为 2 分钟。
规则支持 文件名 、文件类型 和 文件夹 三种匹配方式。
支持三种配置方式:
按文件类型设置缓存过期时间
- 配置缓存时间时可填入多项,每项用 ; 隔开,内容区分大小写,必须是以 . 开头的文件后缀,例如 .png。
- 刷新时间设置为 0 时,不缓存,所有请求转发至用户源站,缓存时间设置最大值不能超过 365 天。
- 输入框默认提示:例如 .png,.jpg,.php。
按文件夹设置缓存过期时间
- 配置缓存时间时可填入多项,每项用 ; 隔开,内容区分大小写,必须是以 / 开头的文件夹。
- 刷新时间设置为 0 时,不缓存,所有请求转发至用户源站,缓存时间设置最大值不能超过 365 天。
按文件设置缓存过期时间
- 配置缓存时间时可填入多项,每项用 ; 隔开,内容区分大小写,支持匹配某一类型文件,例如 /test/abc/*.jpg。
- 单击保存,将进行配置部署,您需等待 5 分钟左右。
**注意:**过短的缓存时间将大幅度消耗 CDN 流量,建议在开发时合理配置缓存时间。
# 什么是缓存配置?
对象存储内的文件默认 CDN 加速,开发者可以通过改变缓存配置来控制 CDN 遵循的过期规则。 合理地配置缓存时间,能够有效的提升命中率,降低回源率,节省您的流量资源消耗。 用户访问资源会首先去 CDN 节点请求,若节点有缓存则返回资源,无缓存则回源获取。
注意:
刷新时间设置为 0 时,不缓存,所有请求转发至用户源站;缓存时间设置最大值不能超过 365 天。
在控制台中上传文件/文件夹,会自动刷新节点内的缓存文件。
配置部署中,若您再次编辑缓存配置,会覆盖之前的配置。以最后一次部署结果为准。
# 缓存策略优先级
配置项列表底部优先级高于顶部优先级。您可以拖动列表中的调整优先级的移动图标即可调整优先级。
当设置了多条缓存策略时,相互之间会有重复,假如某域名已配置如下缓存配置:
| 目标 | 缓存时长 |
|---|---|
| 所有文件 | 2分钟 |
| .php .jsp .aspx | 0秒 |
| .jpg .png .gif | 300秒 |
| /test/*.jpg | 400秒 |
| /test/abc.jpg | 200秒 |
假设域名为 cloud.weixin.qq.com ,资源为 cloud.weixin.qq.com/test/abc.jpg,其匹配方式如下:
匹配第一条所有文件,命中,此时缓存时间为 2 分钟。
匹配第二条,未命中。
匹配第三条,命中,此时缓存时间为 300 秒。
匹配第四条,命中,此时缓存时间为 400 秒。
匹配第五条,命中,此时缓存时间为 200 秒。
因此最终缓存时间为 200 秒,以最后一次匹配生效。
# 三、防盗链配置
为了避免恶意程序使用资源 URL 盗刷公网流量或使用恶意手法盗用资源,而为自己带来不必要的损失,你可以根据业务需要合理配置来进行安全防护。
打开「防盗链配置开关」,会自动弹出上述对话框,填写配置信息,确定后即操作完成,配置项说明如下:
- 类型-黑名单: 拒绝 referer 名单内的域名访问,若 referer 名单内的域名访问地址,则返回 403。
- 类型-白名单: 允许 referer 名单内的域名访问,若 referer 名单外的域名访问存,则返回 403。
- Referer: 支持设置最多 10 条域名且为相同前缀匹配,每条一行,多条请换行;支持域名、IP 和通配符 * 等形式的地址。
- 空 referer: HTTP 请求中,header 为空 referer(即不带 referer 字段或 referer 字段为空),通常是浏览器直接访问资源地址或者是代码请求才会出现;勾选则将此类情况打入黑/白名单。
Referer 举例:
- 配置
www.example.com:可限制www.example.com/123、www.example.com.cn等以www.example.com为前缀的地址。 - 可配置带端口的域名和 IP,例如
www.example.com:8080、10.10.10.10:8080等地址。 - 配置
*.example.com:可限制a.b.example.com/123、a.example.com等地址。
# 四、IP 黑白名单配置
若您希望对业务资源的访问来源进行控制,通过对用户请求端 IP 配置访问控制策略,可以有效限制访问来源,阻拦恶意 IP 盗刷、攻击等问题。
打开「IP 黑名单配置开关」,会自动弹出上述对话框,填写配置信息,确定后即操作完成,配置项说明如下:
- IP 黑名单 :用户端 IP 匹配黑名单中的 IP 或 IP 段时,访问 CDN 节点时将直接返回 403 状态码。
- IP 白名单 :用户端 IP 未匹配白名单中的 IP 或 IP 段时,访问 CDN 节点时将直接返回 403 状态码。
- IP :至多可输入
200个;IP 段仅支持/8、/16、/24网段,不支持其他网段;不支持IP:端口形式。
# 五、IP 访问限频配置
若您希望对业务资源的访问来源进行控制,通过对单 IP 单节点在每一秒钟的访问次数进行限制,可进行高频 CC 攻击抵御、防恶意用户盗刷等。
打开「IP 限频配置开关」,会自动弹出上述对话框,填写配置信息,确定后即操作完成,配置项说明如下:
- 配置开启后,超出 QPS 限制的请求会直接返回 514,设置较低频次限制可能会影响您的正常高频用户的使用,请根据业务情况、使用场景合理设置阈值。
- 限频仅针对与单 IP 单节点访问次数进行约束,若恶意用户海量 IP 针对性的进行全网节点攻击,则通过此功能无法进行有效控制。
举例:
若你的限频配置为 1qps,则实际访问情况如下:
- 客户端 IP 为
1.1.1.1的用户,在一秒内请求了 10 次资源domain/1.jpg,均访问至 CDN 加速节点 A 中的一台 server,此时在该 server 上产生 10 条访问日志,其中有 9 条因超出 QPS 限制,状态码为514。 - 客户端 IP 为
2.2.2.2的用户,在一秒内请求了 2 次资源domain/1.jpg,受网络影响,可能访问被分别调度至两个 CDN 加速节点上进行处理,此时每一个加速节点均会正常返回内容。
# 六、跨域访问配置
打开「跨域访问配置开关」,填入自己的业务域名,保存后该域名即可使用静态资源而没有跨域问题。
注意:当前跨域访问配置解决 动态访问静态 问题,静态访问动态 需在服务端配置开启 cors 允许跨域在后台代码里实现。