昨天登录 Github Jekyll 博客时候,忽然发现很多文章的图片都出现了 404!后来检查才知道,原来从 2019.08.07 起,语雀上的一些静态图片开启了防外链设置,因此之前通过 api 同步语雀文章的内容到第三方的平台,会导致包括图片在内的静态资源都无法访问。

于是乎,开始寻找解决方案,即通过七牛的镜像空间同步语雀的图片,然后渲染博客页面的时候将语雀域名转换为七牛上绑定的自定义域名,从而确保博客的图片都正常可用。关于七牛云镜像存储,这里列举两点介绍:

  1. 七牛的镜像存储服务是一种快速的数据迁移和加速服务。可以帮助用户实现无缝数据迁移,迁移过程中并不影响原有业务系统的访问。镜像存储适用于迁移原有业务系统的已有数据。七牛提供分布式存储和加速分发服务,以分布式存储为核心服务。
  2. 在镜像存储的业务模型里面,原来的图片或者视频访问域名将被配置为七牛的源站,而页面里面引用图片或视频链接的地方必须使用新的访问域名。然后将新的访问域名绑定 (CNAME) 到七牛空间对应的域名。在这些操作完成之后,终端用户就可以通过七牛访问图片或者视频等非结构化资源了。在每个访问请求到七牛的时候,如果七牛空间中不存在这个资源,那么七牛将主动回客户源站抓取资源并存储在空间里面,这样七牛就不需要再次回源客户的资源站点了。

更详细的介绍,请参考七牛云官方文档:《七牛镜像存储使用手册》。

下面介绍一下具体的操作。

一、注册,并新建对象存储的存储空间

七牛云注册,实名认证,这里不细说,很简单。新建对象存储的存储空间也很简单:

c6bf1f6e39e7ec33cdd74b3f68ef0a11.png

二、增加镜像存储的镜像源

在创建好的对象存储空间(note-db)中,选择 "镜像存储",添加语雀镜像源地址:

aa17746fcddb0900719b838fd6465302.png

三、绑定域名

七牛云绑定域名,并且设置 CNAME 的一个重要前提是:域名必须备案成功了才可以使用的!

简单说一下绑定了域名的作用:我们在七牛云上存储了图片文件什么的,访问地址都需要加上一个域名的。起初我们开通对象存储的时候,七牛云会给我们一个测试域名。但是测试域名会被收回,公告如下:

7e6ebb7e35fab1cc100b13e225e43b47.png

所以我们需要用我们自己的二级域名来绑定七牛云进行访问(最好不用 www 开头的二级域名来绑定,因为 www 开头的域名,我们都是作为主域名的),具体绑定步骤如下。

3.1 绑定域名

dcd28bea0cdcd1878dab2ad5f9e83455.png

585fc69a246ff96b547ba38f157c2eb1.png

3.2 配置 CNAME

首先,上面 3.1 步骤,点击 "确认" 完成后,即可看到新增加域名的 CNAME 信息:

fec7da9f87f79190726d7fabe7945fa9.png

第二步,到你买域名的地方去配置。我是在阿里云上面买的,下面以阿里云为例:

19f9a4cad30d3c063bdad890d7032a75.png


做到这一步就算已经完成了。成功之后,回到七牛云对象存储,在存储空间的概览也可以看到 CNAME 状态显示为"成功":

a810d98f457ad1f627ddc75887381ec7.png

第三,在博客中把博客所有 https://qiniu.bioinit.com 的域名都替换成 http://qiniu.bioinit.com 即可。

第四,如果想要换成 https://qiniu.bioinit.com,需要在存储空间的 "域名管理" 中修改 https 配置。

5c220e0e7fd40d3750d2e7a89b890dbb.png

HTTPS 配置中的 SSL 证书可以选择申请七牛与的免费证书;也可以申请阿里云的 "免费型 DV SSL" 证书,然后选择本地上传 "证书内容""证书私钥",我这里选择的是阿里云的 "免费型 DV SSL" 证书。

42b632b5dae167206b2f209c2c80b55e.png

d6ec845719a725cbd3a8e7eedac706e6.png

445bd0e10173a8e31a8cc2668a9afa27.png

"确认" 提交后,等待大约 10 分钟,可以在七牛云对象存储空间的 "域名管理""HPPTS 配置" 看到 HTTPS 已经开启。

a2bf4d618f9090af2bb07c7d78d7f62c.png

最后,在博客中把博客所有 https://qiniu.bioinit.com 的域名都替换成 https://qiniu.bioinit.com,并检查图片是否正常显示。

四、个人博客

参考 R 语言大神谢益辉(https://yihui.name/)和 Jekyll 的一些大神,基于 Github Pages 搭建的 hugo+rblowndown、Jekyll 博客,附上首页截图,需要的请拿去。

8f95f9cb1a9aa716136b7158c3c0e5a2.png

2a7ea20af763beb0b6890052986ef83f.png
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐