内容分发网络(简称 CDN)的作用是将我们网站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。从而解决因分布、带宽、服务器性能带来的访问延迟问题。从而提高用户体验。
为网站配置 CDN 进行加速,基本思路如下:
1、CDN 管理控制台添加加速域名,并指向我们的源站(即网站的 IP 地址),添加完成后 CDN 会生成一个 CNAME 地址。
2、域名管理控制台,选择我们网站的域名,并添加一条 CNAME 记录,指向 CDN 生成的 CNAME 地址,CND 就配置成功了。
我使用 CDN 有一段时间了,但是效果不是很明显。后来进入 CND 管理控制台看了以下,才发现问题所在。就是 CDN 的实时缓存命中率只有 22%。这是什么意思呢?意思是缓存到 CDN 服务器节点上的内容,只有 22.1%左右的内容是被用户实际访问了的。剩下的 77.9%的内容还是从源站进行加载的。所以配置 CDN 基本形同虚设。
那么问题出现在哪里呢?抛开 CDN 服务器的算法问题,就是我的网站还使用了对象存储来存储网站的图片等静态文件。却只为源网站配置了 CDN 加速。导致 CDN 的实时命中率偏低。
找到了问题所在,解决方法就很明显了,就是需要单独为对象存储中使用的 Bucket 单独配置 CDN。配置方法和源网站的配置方法基本一致,详细步骤如下:
1、进入 CDN 管理控制台,添加一个加速域名
【加速域名】一栏填写你的加速域名,建议使用源站的二级域名作为加速域名。比如我的源站域名为 oneboke.com/wp-content/uploads,那么可以使用 oneboke.com/wp-content/uploads/wp-content/uploads 这个二级域名。【业务类型】选择图片小文件,【源站类型】选择 oss 域名,然后在下拉列表中选择我们正在使用的 oss 域名。如我的 oss 域名为:uioss.oss-cn-shenzhen.aliyuncs.com。如果是虚拟主机,端口选择【80 端口】。如果是云服务器,在没有使用 https 加密的情况下也可以选择【443 端口】,在这里建议统一使用【80 端口】就可以了。
添加完加速域名后,CDN 会自动生成一个 CNAME 地址,并提示“未配置 CNAME,无法使用 CDN 加速服务”,如下图所示。所以下一步要添加一条解析记录,并指向这个生成的 CNAME 地址。CDN 加速才能正常使用。
2、进入域名管理控制台,找到源站正在使用的域名,添加一条 CNAME 记录,指向前面生成的 CNAME 地址。具体参数如下图所示。
至此,CDN 加速便配置成功了。需要注意的是:
1、如果你的 wordpress 使用 oss 插件,直接通过 wordpress 媒体库来上传图片。那么还需要将插件的【Bucket 域名】设置成你前面第一个步骤中填写 CDN 的加速域名。
2、如果你的网站使用了 https 协议,还需要为加速域名单独申请 SSL 证书,免费 SSL 证书的申请步骤可参考《全站开启 https 安全连接:如何申请免费的 SSL 证书?》这篇文章,并将证书上传到对象存储控制台的域名中,如下图所示。否则会遇到证书不信任的问题。
全文完!
现在很多站点都喜欢使用CDN,是否加速不说,最起码可以适当隐藏服务器IP地址
@boke112导航 是的,CDN加速效果真的不好评估。但是CDN对服务器安全还是有正面作用的。
然而我现在还是没用上CDN。
@夏天烤洋芋 没事,CDN又不是必须的。
网站使用和不使用CDN还是有区别的
@去看你博客 是的,但是不好评估具体效果。只能看命中率。
博主精通的东西很多呀,看起来有点复杂,可能我是外行不是很懂这些代码
博主,感谢分享
来都来了,肯定要评论一下才会走的
有时采用CDN反而会更慢
@趣知识 有这种可能,根据实际情况使用。