本文转自:www.yunloc.com
Cloudflare 是全球知名的 CDN 服务商,提供免费和付费的加速和网站保护服务。百度云加速的国外节点就是和 cloudflare 合作使用的 cloudflare 的节点。只不过是因为中文网站接入他们家 CDN 后速度一般,所以我们国内网站接入的并不是很多。但是,一般海外网站如果需要用到 CDN 网站加速和安全的较多的会选择 Cloudflare CDN 服务。
Cloudflare 默认仅根据下面的文件扩展名缓存静态内容资源,是不会音频和视频文件的, 默认文件扩展名的缓存:
bmp | ejs | jpeg | ps | ttf | |
class | eot | jpg | pict | svg | webp |
css | eps | js | pls | svgz | woff |
csv | gif | mid | png | swf | woff2 |
doc | ico | midi | ppt | tif | xls |
docx | jar | otf | pptx | tiff | xlsx |
注:如需了解更多,请参阅 官方缓存文件说明。
怎么让 Cloudflare 来缓存音频和视频文件?我们可以通过创建页面规则来缓存这些不在列表中的文件. 免费 CLOUDFLARE 用户最多只能创建 3 条, PRO 用户能创建 20 条. 所以得好好利用.
创建新的页面规则:
- *www.yunloc.com/*.mp4*
- Browser Cache TTL: a year
- Cache Level: Cache Everything
- Edge Cache TTL: an hour
通过这个缓存所有的规则, .mp4 文件就可以被正确的缓存了, 考虑到音频视频文件一般情况下不太可能被更新, 所以可以大胆的设置缓存有效期为 1 年. mp4*后面可选匹配多个字符是为了兼容 wordpress 因为 WP 会在视频和音频 URL 地址后面加上参数, 如: a.mp4?_=1. ,其他后缀也和这个规则一样创建。
这里我们可以通过以下命令来验证一下:
- curl –svo /dev/null https://www.yunloc.com/test.mp4
在输出的命令中则会有:
- CF–Cache–Status: HIT
也可以通过 [webpagetest.org] 来测试您的网站或特定资源是否正在缓存。输入 URL 并运行测试后,您可以查看详细信息页面。如果 Cloudflare 正在缓存,则响应头字段显示以下内容:
- CF–Cache–Status:HIT
这代表了已经被缓存了,miss 状态表示 Cloudflare 没有缓存该特定资源。Expired 表示该资源不再位于 Cloudflare 缓存中。