某些情况下,对象存储Cache-Control设置不正确,用户每次请求CDN都要回源。此时的CDN不仅等于没有,而且会导致成本高和用户访问慢。
- 成本高。此时的成本=cdn流量费用+对象存储回源流量。
- 用户访问慢。此时用户请求时间=回源时间+文件下载时间
在阿里云的OSS中:
需要找到对象存储中Cache-Control=no-cache的对象。把对象的文件元数据的Cache-Contro设置为合适的值。比如空值。
image.png
root@test1:~# ossutil version
2.0.4-beta.10251600 #ossutil版本号
# 列出存储空间 examplebucket 中不缓存(Cache-Control=no-cache)的对象
ossutil ls oss://examplebucket / -d --metadata-filter "+ Cache-Control=no-cache"
osstuil ls的--metadata-filter参数其用法:
#筛选标准存储类型的对象,列出存储空间 examplebucket 中所有存储类型为 Standard 的对象:
ossutil ls oss://examplebucket --metadata-filter "+ x-oss-storage-class=Standard" --metadata-filter "- **"
#排除归档存储类型的对象,列出存储空间 examplebucket 中所有非归档存储类型的对象:
ossutil ls oss://examplebucket --metadata-filter "- x-oss-storage-class=Archive"
#结合多个元数据条件筛选,列出存储空间 examplebucket 中所有 Content-Type 为 image/jpeg 且存储类型为 Standard 的对象:
ossutil ls oss://examplebucket --metadata-filter "+ content-type=image/jpeg" --metadata-filter "+ x-oss-storage-class=Standard" --metadata-filter "- **"