博客图片方案之前使用的是腾讯云的COS+CDN,因为老账户每月都有一些免费额度:
CDN内容分发:
流量:10G
COS对象存储:
标准存储请求:200万次
标准存储容量:50G
外网流出流量:10G
CDN回源流量:10G
但是使用过程中发现:当某张网页加载十几张或几十张图片的时候,会出现部门图片加载不出来(右击图片重新加载可以正常显示)估计是一次性请求太多数据,触发了腾讯云某些限制。所以这次博客调整的时候,我直接将图片放到了闲置的阿里云独享虚拟主机基础版上面(5M独享带宽),然后测试了下发现加载太多图片的时候效果依旧不太理想,于是就套了阿里云CDN,但感觉未缓存的情况下速度依旧不太理想,我猜测可能是5M独享带宽也无法顺畅支持同时加载多张图片的需求。
于是,今天下午将图片数据迁移到了阿里云的OSS并配合CDN,记录一下大概步骤:
1、在 OSS 新建一个 Bucket(读写权限选择私有)
2、在 CDN 添加域名,源站信息选择刚才新建的 OSS域名,端口选择80 (此步骤会自动为OSS添加域名)
3、在 CDN 回源配置==>>私有Bucket回源,务必添加角色授权(否则CDN没有权限去OSS读取数据)
4、在 OSS 传输管理==>>域名管理,开启 CDN 缓存自动刷新,然后在 CDN 将缓存时间设置为一年或者更久
好了,OSS+CDN 配置就这么愉快的完成了(非阿里云域名要多一步域名解析的操作)接下来就是操作数据了,我的方案还是通过群晖NAS:直接新建一条 Cloud Sync 同步规则,将NAS上的博客图片备份文件夹同步到阿里云OSS的Bucket,然后NAS便自动将数据同步到阿里云OSS,同时后续我发布新日志的图片也会实时同步到阿里云OSS(我发布博客的图片是通过Live Writer 自动 FTP 到群晖NAS指定文件夹,相当的方便)
================
关于费用问题:
1、阿里云OSS
a. 40G存储包价格目前是9元/年,对于我的博客来说足够了
b. CDN回源流量价格是0.15元/GB(流入到OSS的流量是免费的,但OSS流出到CDN是收费的)
c. 请求费用0.01元/万次(对于小博客来说可以忽略,每小时结算一次大部分时候都是0元)
2、阿里云CDN
a. 静态HTTPS请求费用0.05元/万次(对于小博客来说可以忽略,每小时结算一次大部分时候都是0元)
b. 大陆地区的流量费用是0.24元/GB(觉得不够的话可以开通18元包年的100G流量包)
c. 海外地区的流量费用是0.46~1.31元/GB不等(为了照顾国际友人,我暂时开着,反正用到的概率不大。有异常再关)
3、阿里云OSS+CDN
a. OSS与CDN的流入流量都是免费的,但流出流量都是收费的,所以不考虑海外,每GB的流量价格是(0.15+0.24)元
b. 假设每天1G流量,一年费用就是142元(开套餐更便宜)OSS+CDN如此大带宽的速度,要比虚拟主机划算很多
c. 如果CDN设置仅大陆加速,那么海外地区流量将直接走OSS出来,但因为权限问题,所以会无法显示(反之毅然)
d. 如果担心海外流量超标但又希望海外能看到图片,可以将Bucket设置为公有读取权限(如果要设置防盗链,会有影响)
e. 对于海外流量问题,有个折中的办法:弄一个规则将图片文件夹的数据同步到另外一台美国服务器,域名分区域将海外用户解析到美国服务器,如果要提高速度还可以套cf(需要使用 CloudFlare Partner 达到无需修改ns使用解析的目的)
=======================
update 2021/2/20
1、关于腾讯云COS的免费额度
到腾讯云的后台仔细看了下,发现从去年10月起,COS一次性送了50G标准存储容量+200万次标准存储请求+10G CDN回源流量+10G外网流出流量(我记不清以前是不是按月赠送的了)不过这也很良心了,50G的存储容量是非消耗品,配合群晖NAS的 Cloud Sync,放一些重要文件的备份,也是很不错的用途(与阿里云OSS一样,COS的流入流量是免费的)
2、关于阿里云OSS+CDN的海外加速
开启全球加速:海外IP及大陆IP均可以正常访问
开启大陆加速:海外IP及大陆IP均可以正常访问,我猜测是不是海外IP访问直接读取OSS数据,但是不走CDN节点?
开启海外加速:海外IP及大陆IP都无法正常访问(均提示 ERR_HTTP2_PROTOCOL_ERROR 该页面可能存在问题,或者已永久移动到新的网址)我也不知道为啥……