不限流量 全网CDN图床 图床API_国内自建图床指南

fe2c1ec65ec4331f13021dc134157368.png

我的博客很长一段时间在使用新浪微博作为图床,自从新浪微博开始防外链,我博客文章很多配图丢失了。我意识到我需要一个稳定可靠的图床,所以开始用阿里云自建一个我自己的图床,目前已经稳定使用了大半年。

我起初以为很难,而且费用不低。但是在这半年,我每个月的 CDN 费用不高(当然这也取决于访问量)。我自诩自己的博客不至于荒废或者没什么人访问,所以对于那些和我的博客规模差不多的独立博客博主,本篇应该算得上是一个十分贴切的参考。

当然,虽然我用的是阿里云,但套用到其它云服务都是一样的,读者可以读完后价比三家再作选择。

本文的目标读者

有自建图床的需求,且对国内访问速度有要求的。例如独立博客、独立摄影站,甚至独立播客主于用存放音频文件。

云服务做图床的原理

2cab85f1774d67a13f1f688fc3d20d2c.png

云服务产品有很多,搭建图床只需要关注 OSS 和 CDN. OSS 是对象存储服务,通俗来说就是用来存文件的。OSS 都有对应的域名,文件保存在 OSS 后,可以通过 URL 下载它。

但是直接通过 OSS 下载的成本很高,价格十分昂贵,所以我们需要 CDN 来分发,节约成本。在阿里云,可以把 CDN 绑定到 OSS, 通过 CDN 去访问这个文件时,如果是首次访问,CDN 会从 OSS 取得这个文件,这个过程叫「回源」。之后再访问会直接从 CDN 读取。

步骤详解

因为我自己用的是阿里云,所以以阿里云为例(假设你已经注册好帐号)。

创建一个 OSS Bucket

一个 Bucket 相当于 OSS 中的一个存储空间,在 OSS 控制台 点击创建 Bucket:

789d69252d7587ed151216db7e6e2d4c.png

填好 Bucket 名称和区域,其它选项按照默认即可。

创建成功后,在 Bucket 的文件管理可以上传文件:

8f9a1f3a9879d8f96d1e537673b1bafd.png

查看上传文件的信息,你可以看到文件有 URL, 但由于在创建 Bucket 的时候,为了防止盗用,我们选的 Bucket 权限为私有,所以从 URL 其实无法访问这个文件:

b3b94d2b1ae9c477114e5989ec0c8ad5.png

创建 CDN 配置

在 CDN 控制台 进入域名管理,就可以开始配置 CDN 域名。

所以,在创建 CDN 前,你需要买一个域名。这个域名可以随便买个便宜的不主流的,因为没人在意一个图床的域名。

创建域名后,有一个要注意的地方,就是如果你需要国内加速,你的域名必须备案。备案其实是整个自建图床成本最高的一个环节。如果你的博客或者网站域名已经备案,那么可以直接用这个域名分配一个二级域名给 CDN 用。省去再备案的麻烦。

27d2b5ad2bae75a0e7920cf08759d8c8.png

比如你的域名是 blabla.com, 那么你的加速域名可以是 static.blabla.com.

源站信息选「OSS域名」,选中之后会出现一个下拉选择,可以选中刚刚创建的 Bucket 源站:

b113fda0c62e639725fc2762764f0760.png

如果你的网站用 https, 端口选 443.

如果你域名已经备案,就选全球或中国大陆。

设置域名的 CNAME

创建完后,你需要把你域名的 CNAME 指定为提供的值。如果你域名解析也是用阿里云,可以查看 这篇文档 。

e0b9c20b311e7237842e45199e2e9bd6.png

开启 HTTPS

73aef822e5ce498c97d79ea1f31c7892.png

开启私有 Bucket 回源

因为前面在创建 Bucket 的时候权限设置为私有,所以需要给 CDN 开启私有 Bucket 回源的权限。

dd3be878376cb0e8a5a22aa767187fd4.png

配置 Refer 防盗链

CDN 防盗是有必要的,如果你的图片被别处盗用,会增加不必要的流量。所以推荐设置 Refer 防盗白名单,只对允许指定的域名访问。例如我设置了除了我自己博客以外的一些 RSS Reader 以及 V2EX 可以访问:

7bccd433b5858fc92e4dd0e69aeb0199.png

使用 uPic 方便上传图片

以上的准备都做完后,你已经拥有了一个图床。现在就需要一个方便的工具把图片上传到图床。如果你用 macOS, 我推荐开源的 uPic。

3900cf60160af96ee048c0cecc7ecf3b.png

配置 uPic

添加阿里云 OSS 配置:

b8bdedc60816ea17d5e0840b15062386.png

这里需要填 AccessKey 和 SecretKey:

a9293bc80a97af01dc46a791d6ac6ab3.png

你可以在 RAM 控制台 创建一个用户,然后创建 AccessKey.

创建后给这个 AccessKey 授 AliyunOSSFullAccess 这个权限:

030fa120158059578c98deb86d6e6e9d.png

我博客的 CDN 用量

45c972c1278d5c2b48b63e6b794d2d70.png

从 2019 年 10 月 1 号至 2020 年 3 月 7 号总计 11.28GB. 按流量计费,每 GB 0.24 元,也才几块钱。

拓展阅读:

  • 什么是对象存储?COS 能做什么?这里有份快速入门教程
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值