七牛CDN如何使用网站回源?

典型场景:比如我想把前端的js,css等资源放在七牛的cdn上,我需要七牛能自动缓存没有缓存过的资源,然后在设置的有效期后自动删除,完全无需我手动管理这些静态资源。所谓”网站回源“就是七牛如果碰到没有缓存过的资源,会先去原网站拿。比如用户访问www.abc.com/xyz.css,七牛的cdn上没有这个文件,那他会先去原网址拿再缓存起来。
不知道我说清楚需求了没。。

阅读 7.2k
2 个回答

设置的有效期后自动删除,这个是肯定办不到的

你说的大概流程应该是要遵循这个这样子:

源站 → 七牛存储 → 七牛CDN缓存 → 实际用户

实际用户请求七牛CDN上的资源,CDN就会从七牛存储这拿取资源,如果七牛存储没有,就会去你的源站拿取,即www.abc.com/xyz.css

你可以登录portal.qiniu.com 后,在空间设置,里面将www.abc.com 设置为镜像源,然后以后通过

七牛域名/xyz.css 这样的形式就可以享受CDN加速,七牛的CDN缓存你是定时删除不了的,如果源站资源更新。你可以调用prefetch接口:
http://developer.qiniu.com/docs/v6/api/reference/rs/prefetch.html

调用完接口之后,需要通过这个访问就能访问到最新资源:

七牛域名/xyz.css?v=2.0

当然,再次更新还是掉上面的prefetch方法,然后参数改变一下,如第三个版本可以这样:

七牛域名/xyz.css?v=3.0

按照你的意思,七牛现在基本能够达到,只会有一个问题存在:就是文件会一直存储在空间里,需要手动删除,但CDN节点上的文件是会定期删除的。
至于存在空间里的文件虽然不会删除,但会不会更新就不知道了,这个得问七牛的客服,如果担心不更新的话,JS、CSS之类的文件更新你过一星期在空间里批量清空一次就行了

关于上边的设置方法可以参考:http://www.ytxx.cc/forum.php?mod=viewthread&tid=1183希望能让你找到灵感

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进