站点使用cdn配置


打开博客页面发现耗时过长,检查元素,发现时间主要浪费在了静态资源的加载上面。优化静态资源的加载速度,最简单的莫过于使用CDN(分容分发网络)了,记录一下站点使用CDN需要的配置。

CDN

CDN是什么

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。(来自百度百科)

CDN实质是通过在各地区的服务器上缓存一份资源来加快用户访问。

开启以及配置CDN

作为一个根本不盈利的博客,最重要的当然是省钱,毕竟穷嘛,哈哈。考虑了几家的介绍,发现腾讯云的CDN每个月有10G的免费流量,对于我这种小站点来说,妥妥的够了,下面以腾讯云为例,其他几家云提供商CDN的具体配置名称可能有略微变化,不过没有根本性的变化。

CDN接入流程

我希望的使用场景是这样的:站点html内容通过个人服务器获取,即使用www.dnote.cn域名,而所有的静态资源使用static.dnote.cn域名来访问,static.dnote.cn即接入的CDN域名,而源内容使用主域名提供,即CDN服务器从www.dnote.cn来获取初始的静态资源内容。

接入域名

在CDN控制台的域名管理中,可以管理接入的CDN域名。在这里点击添加。

接入域名信息介绍

  • 域名 即要接入的CDN域名,我的就是static.dnote.cn。
  • 源站类型 如果静态文件保存在个人服务器,那么选择自有源站,如果使用了对象存储,请选择COS。
  • 热备源站 作用同源站,当源站无法访问时,CDN会自动从热备源站获取内容。
  • 业务类型 根据自己的需要选择即可,我这里是静态加速。
  • 过滤参数 根据自身需要吧,我这里不能过滤参数,因为一些字体文件可能会带有param参数。
  • 缓存过期配置 根据自身需要,类似于jquery.min.js这些文件可以使用用不更新,而可能有更新的可以根据更新周期来设置缓存过期时间。

CNAME配置

使用CNAME,即将访问到static.dnote.cn的请求发送到云提供商给定的cdn域名上。这里进入域名控制台添加一条CNAME解析记录即可。唯一需要注意的就是解析记录一般有生效时间,所以需要等待一段时间再验证是否配置成功,验证可以使用dig命令。

配置https

在https站点中使用http来请求静态资源总觉得不是太好,所以还是配置一下https。 腾讯云的配置位置在 修改-高级设置-https配置,根据字段名,填写证书和key即可。 我觉得应该是可以通过腾讯云的api来设置证书的,不然每年配置一次这个东西,还是比较蛋疼的,后面研究一下这个。

放盗链

修改-访问控制-放盗链配置可以设置放盗链,配置允许访问的域名即可。如果发现依然有站点恶意盗链,可以配置黑名单。

源站也可以设置放盗链,只允许源站和CDN服务器来访问。最好也添加频率限制,毕竟referrer是可以伪装的。

回源设置

修改-基本配置-回源配置 这里设置为CDN服务器获取资源信息的站点域名。