通过又拍云 CDN 加速阿里云 OSS,并且配置 HTTPS 证书和 Webp 自适应

其实阿里云本身也可以实现对 OSS 中的文件进行加速,但是又拍云有一些比较特色的功能是阿里云没有的,并且非常实用,所以,我们可以通过又拍云 CDN 去回源阿里云的 OSS。
又拍云的特色功能主要有:

  1. 一键部署Let’s encrypt 证书,到期自动续签,非常省心。
    阿里云也有免费的证书可以申请,但是都是要提交公钥私钥,一般期限是一年,但是到期后你又要去后台删除证书,然后重新提交,很麻烦,没有又拍云的省心。
  2. 自适应 Webp,这个功能非常棒,又拍云 CDN 会在请求到达CDN 边缘时判断图片类型以及浏览器类型,如果浏览器支持 webp,就会把图片转换成 webp 然后返回给客户端,这样来,可以省下不少的流量费呢! 下面,我来说下具体的操作步骤

创建自主源站服务

  1. 注册又拍云账号,登陆后台,创建一个服务

然后填写如下信息:

  • 服务名,自定义
  • 源站类型,选择自主源
  • 加速域名,填写你需要加速的域名
  • 回源 HOST,默认不需要填会根据你请求绑定的加速域名回源
  • 回源协议,选择 HTTP 协议回源
  • 线路配置,回源地址填阿里云的默认外网域名,其他默认

然后操作员你也可以自己创建一个,这个操作员和密码不要忘记了。主要是用来登陆 api 或 ftp 查看和管理又拍云存储的文件的。(自主源站默认不需要,但是我们加速阿里云的 OSS,后面会用到又拍云的镜像功能)。

然后,点击菜单栏上的服务,在服务列表中找到你刚才创建的服务,点击配置,绑定你的域名,然后去域名解析商那边做下 CNAME 解析,解析值一般是你的servername.b0.aicdn.com

然后我们可以通过 dig 看下域名是否解析过来

申请 SSL 证书

在服务上选择云产品,然后选择 SSL 证书服务


剩下怎么申请,你可以看视频教程

开启 webp 自适应功能和镜像功能

1.webp 功能,我们需要进入刚才创建的服务,然后选择高级功能,找到 webp 自适应,开启他就可以了。

2.镜像功能,其实,虽然资源在源站,但是存储的文件一般不会变的,我们可以配置下镜像功能,让默认就从又拍云存储拿资源,如果存储文件丢失还可以回源拿

配置镜像功能,首先需要配置缓存,点击基础配置,选择缓存配置,点击管理,默认配置全局缓存 7天就可以,因为镜像功能需要缓存时间大于24小时。

然后切换到高级功能,找到镜像功能,开启它

验证webp 功能,比如我们请求一个 url

https://file.awen.me/img/2017/04/3240452763.png!awen)

这个 url,是一个 png 格式的图片。我们通过 chrome 浏览器访问他,得到的文件类型是 webp

然后我们用火狐浏览访问,得到的文件类型是 png,看看,是不是很好用,通过 chrome 浏览器访问的流量可以省下不小呢。。

对比下同一个文件非 webp 的大小和 webp 的大小

注意,开启 webp 之后,需要等缓存过期后,文件才能被转成 webp 格式,webp 自适应的条件是:
1.开启 webp 自适应,刷新缓存,查看文件响应头

content-type:image/webp 

即成功。
2.如果请求头中的accept字段中有 webp,但是实际content-type 不是 webp,并且还是适应 chrome 浏览器访问的,则判断缓存是否过期

accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

刷新完缓存,判断 age 值是否从0开始,比如上面的 age 值已经是5980,已经很大, 刷新后观察值是否变小,如果变小了,在观察content-type是否为 webp

3.后台的缩略图间隔符要开启

防盗链设置

此外,你还可以设置下防盗链,比如 user-agent 白名单或黑名单、域名白名单和黑名单,这个根据自己需要来啦,可以参考又拍云官网文档解释