# 静态资源配置

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

# 一、域名配置

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

你可以设置索引文件,默认是 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,其匹配方式如下:

  • 匹配第五条,命中,此时缓存时间为200秒。
  • 匹配第四条,命中,此时缓存时间为400秒。
  • 匹配第三条,命中,此时缓存时间为300秒。
  • 匹配第二条,未命中。
  • 匹配第一条所有文件,命中,此时缓存时间为2分钟。
  • 因此最终缓存时间为2分钟,以最后一次匹配生效。

# 三、防盗链配置

为了避免恶意程序使用资源 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加速节点上进行处理,此时每一个加速节点均会正常返回内容。