全百科精品资源分享
免费优质资源下载平台

记七牛云资源删除后还可正常访问的解决方法

文章目录

全百科网采用的是七牛云的对象储存服务,配置了镜像存储,昨天发现明明把储存的资源删除了,竟然还可以正常访问,清除缓存之类的都做了,还是不行,等了一天还是可以正常访问,厉害的了。后来通过探索研究终于发现了问题的解决方法,下面全百科网就分享给大家。

记七牛云资源删除后还可正常访问的解决方法

官方解决方法

镜像存储刷新缓存方法

当镜像源的文件更新(或删除)后,刷新 CDN 缓存的方法有以下两种:

  1. 首先将空间中该资源删除;
    然后按照 刷新缓存的方法 文档第一条介绍的方法,提交刷新缓存请求。
  2. 首先,利用 prefetch 接口 或者 qshell 工具的 prefetch 命令 将镜像源站的资源覆盖空间中相同名称的资源;
    然后按照 刷新缓存的方法 文档第一条介绍的方法,提交刷新缓存请求。

全百科网建议:如果要刷新的资源不多可以选择“刷新缓存的方法”;如果资源比较多建议使用“prefetch 接口”或者“qshell 工具”刷新CDN缓存的方法。

第一种

刷新缓存的方法

主动提交刷新缓存请求

提交刷新请求的方法有三种:

  1. 在七牛开发者中心左侧产品列表中找到融合 CDN ,进去后点击 刷新预取
    按要求填写需要刷新的 URL,点击提交即可。
    记七牛云资源删除后还可正常访问的解决方法
  2. 工具刷新
    使用七牛云提供的 qshell 命令行工具,参考使用文档,先设置密钥,然后执行 cdnrefresh 命令来刷新缓存。
  3. 通过API 接口提交刷新请求:
    七牛各服务端的 SDK 都提供了刷新缓存的方法。
    另附:刷新接口文档

注:如果使用了 镜像存储 ,不能直接刷新,需要参考 镜像存储刷新缓存方法
提交刷新请求后 10 分钟 左右,刷新全网生效。
刷新 https 域名下的链接,会同时刷新 httphttps,占用两次刷新额度。

通过携带随机 URL 参数刷新

实现方法:

例如,如果 http://odum9helk.qnssl.com/resource/gogopher.jpg 这个图片资源没有更新,可以在该 URL 后面加上问号随机参数的形式来让 CDN 强制刷新:http://odum9helk.qnssl.com/resource/gogopher.jpg?v=1234567 ,CDN 拿到这个 URL 后会强制回源站中取回最新的资源。

实现原理:

如果域名没有开启忽略 URL 参数,那么在 CDN 节点上,对于:
http://odum9helk.qnssl.com/resource/gogopher.jpg
http://odum9helk.qnssl.com/resource/gogopher.jpg?v=1
http://odum9helk.qnssl.com/resource/gogopher.jpg?v=2
这三个 URL 是独立缓存的。所以,如果携带之前没用过的参数访问,CDN 会强制回源站中取回最新的资源。

注意事项:

  1. 关闭忽略 URL 缓存的域名,才可以使用这种方法刷新。
    记七牛云资源删除后还可正常访问的解决方法
  2. 若使用 http://img.yfi6.com/zuxian/index.html?v=1 访问一次,不会刷新 http://img.yfi6.com/zuxian/index.html 的缓存。所以如果要保证访问到最新的资源,需要携带之前没有使用过的参数。
  3. 此方法适用于需要频繁更新的文件,为保证参数不重,可以在每次更新文件后,携带的参数 +1 ,或者取 unix 时间戳来作为参数。

第二种

prefetch 接口

镜像资源更新

对于设置了镜像存储的空间,从镜像源站抓取指定名称的资源并存储到该空间中。
如果该空间中已存在该名称的资源,则会将镜像源站的资源覆盖空间中相同名称的资源。

请求报文

请求语法
POST /prefetch/<EncodedEntryURI>
Host:           iovip.qbox.me
Content-Type:   application/x-www-form-urlencoded
Authorization:  QBox <AccessToken>

EncodedEntryURI的细节请参考EncodedEntryURI

访问权限

管理凭证方式。

头部信息
头部名称 必填 说明
Authorization 该参数应严格按照管理凭证格式进行填充,否则会返回401错误码一个合法的Authorization值应类似于:QBox QNJi_bYJlmO5LeY08FfoNj9w_r7...

响应报文

响应语法
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
头部信息
头部名称 必填 说明
Content-Type 正常情况下该值将被设为application/json,表示返回JSON格式的文本信息。

其它可能返回的头部信息,请参考HTTP扩展字段

响应内容
  • 如果请求成功,不返回任何内容。
  • 如果请求失败,返回包含如下内容的JSON字符串(已格式化,便于阅读):
{
    "error":   "<errMsg    string>",
}
字段名称 必填 说明
error 与HTTP状态码对应的消息文本

响应状态码

HTTP状态码 含义
200 抓取成功
400 请求报文格式错误
401 管理凭证无效
404 抓取资源不存在
478 源站返回404外,所有非200的response都返回478。
599 服务端操作失败
其余状态码 源站返回的状态码,请检查源站资源的可访问性。

示例

命令行示例
curl -i \
     -o - \
     -H 'Content-Type: application/x-www-form-urlencoded' \
     -H 'Authorization: QBox u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:2LJIG...' \
     -X POST \
     'http://iovip.qbox.me/prefetch/bmV3ZG9jczpmaW5kLm1hbi50eHQ='
请求示例
POST /prefetch/bmV3ZG9jczpmaW5kLm1hbi50eHQ= HTTP/1.1
User-Agent: curl/7.30.0
Host: iovip.qbox.me
Accept: */*
Authorization: QBox u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:2LJIG...(过长已省略)

注意:要在Authorization头部的<AccessToken>前添加QBox和半角空格。

响应示例

HTTP/1.1 200 OK
Server: nginx/1.0.8
Date: Thu, 05 Dec 2013 06:55:29 GMT
Content-Type: application/json
Connection: keep-alive
Content-Length: 0
X-Log: RS.in;RS.mo;qtbl.mv:3;MQ;MC/404;RS.mcd:1;RS:5
X-Reqid: wxIAAD3btw-v3TwT

注意:本接口在执行同步操作时,如果抓取的资源过大,可能会导致超时。

工具下载

命令行工具(qshell)

简介

qshell是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具。该工具设计和开发的主要目的就是帮助开发者快速解决问题。目前该工具融合了七牛存储,CDN,以及其他的一些七牛服务中经常使用到的方法对应的便捷命令,比如b64decode,就是用来解码七牛的URL安全的Base64编码用的,所以这是一个面向开发者的工具,任何新的被认为适合加到该工具中的命令需求,都可以在ISSUE列表里面提出来,我们会尽快评估实现,以帮助大家更好地使用七牛服务。

下载地址

七牛云官方下载

Github 代码地址

该工具使用Go语言编写而成,当然为了方便不熟悉Go或者急于使用工具来解决问题的开发者,我们提供了预先编译好的各主流操作系统平台的二进制文件供大家下载使用,由于平台的多样性,我们把这些二进制打包放到一个文件里面,请大家根据下面的说明各自选择合适的版本来使用。在文档中的例子里面,为了方便,我们统一使用qshell这个命令来做介绍。

第三种

prefetch 命令

使用七牛云存储提供的 qboxrsctl 命令行工具执行以下命令代码,强制让 CDN 上的该缓存失效:

qrsctl login <User> <Passwd>
qrsctl cdn/refresh <Bucket> <Url1>,<Url2>...<UrlN>

通过本篇文章相信你已经可以顺利解决七牛云资源删除后还可正常访问的情况了。

Download WordPress Themes
Download Best WordPress Themes Free Download
Free Download WordPress Themes
Download WordPress Themes
udemy paid course free download
download micromax firmware
Premium WordPress Themes Download
udemy course download free

本文由全百科网分享提供,分享更多精品资源,帮助你我共同成长。

赞(0) 打赏
本站内容均来自网络收集,转载内容不代表本网站的观点及意见,仅供用户参考和借鉴。如对稿件内容及版权问题有疑议,请及时联系全百科官方邮箱: smtsg@foxmail.com全百科网 » 记七牛云资源删除后还可正常访问的解决方法
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏