# 静态资源配置

微信云托管-静态资源存储-静态资源配置中管理所有资源文件内容,并可以查看上传后文件的详细信息。

# 一、域名配置

静态资源存储提供默认的域名,可以直接使用,用于开发测试和产品体验。

你可以设置索引文件,默认是 index.html

当你访问域名时,会直接路由到你资源中根目录的 index.html 文件。

如果资源中根目录有一个文件夹 res , res 文件夹中有一个文件 test.html,你想设置这个文件为索引文件,则需要填写如下路径:

res/test.html

如果有多级文件夹,则依次填写,文件夹之间用 / 隔开。

自定义域名配置相关参考对应文档

当前我们正在加紧支持静态资源存储的自定义域名(2021 年 12 月 16 日)

# 二、缓存配置

可以针对文件的 CDN 回源时间进行管理,默认所有文件的回源时间为 2 分钟。

规则支持 文件名文件类型文件夹 三种匹配方式。

支持三种配置方式:

  1. 按文件类型设置缓存过期时间

    • 配置缓存时间时可填入多项,每项用 ; 隔开,内容区分大小写,必须是以 . 开头的文件后缀,例如 .png。
    • 刷新时间设置为 0 时,不缓存,所有请求转发至用户源站,缓存时间设置最大值不能超过 365 天。
    • 输入框默认提示:例如 .png,.jpg,.php。
  2. 按文件夹设置缓存过期时间

    • 配置缓存时间时可填入多项,每项用 ; 隔开,内容区分大小写,必须是以 / 开头的文件夹。
    • 刷新时间设置为 0 时,不缓存,所有请求转发至用户源站,缓存时间设置最大值不能超过 365 天。
  3. 按文件设置缓存过期时间

    • 配置缓存时间时可填入多项,每项用 ; 隔开,内容区分大小写,支持匹配某一类型文件,例如 /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/123www.example.com.cn 等以 www.example.com 为前缀的地址。
  • 可配置带端口的域名和 IP,例如 www.example.com:808010.10.10.10:8080 等地址。
  • 配置 *.example.com:可限制 a.b.example.com/123a.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 允许跨域在后台代码里实现。