CDN说白了其实就是把你的网站内容镜像到全国各地的服务器上,然后用户访问的时候,可以就近访问,提升访问速度,对源站的带宽和服务器性能等起到了很好的分担作用。CDN对于web网站的重要作用不言而喻,参考建站必备之CDN-原理篇。本文我们来讲解一下如何给网站配置CDN,以及相关名词的解释。
运营商选择:CDN运营商有很多,我们尽量选大公司的,虽然价格贵一点,但一般都有免费流量的。大公司的优势在于,CDN节点多,加速效果明显,服务稳定。如本站所使用的CDN为腾讯CDN,在全国拥有500+节点,并且支持https访问(这是我选择腾讯最重要的原因)。此外,腾讯CDN还有每个月5G的免费流量,新手礼包又送了60G,对于我这个小网站来说已经是绰绰有余了。
因为CDN是通过将你的域名解析到CDN运营商的CDN缓存服务器上来实现加速的,因此我们需要将域名解析交给CDN运营商。
请注意,使用CDN需要域名备案,否则无法使用!
一、基础配置
首先打开腾讯CDN的管理页面,添加你需要加速的网站域名。 https://console.qcloud.com/cdn/access
如图按实际情况填写 需要加速的域名,web服务器(源网站)的IP地址。
如图我们看到CDN已经在部署了,接下来我们要将针对这个网站域名的解析交给腾讯。
- 打开你的域名管理,这里用我所使用的阿里云为例:
- 打开域名控制台 https://netcn.console.aliyun.com/core/domain/list 进入需要更改解析的网址。
- 将原来默认的A和@两条解析删掉,这两条解析是直接将网址解析到web服务器地址上的,跟CDN冲突。
- 添加两条CNAME解析:
记录类型为CNAME,主机记录为www,记录值请看上图配置腾讯CDN中分配的CNAME(比如我这里是www.xiaoweigod.cn.cdn.dnsv1.com) 【将www.xiaoweigod.cn解析到www.xiaoweigod.cn.cdn.dnsv1.com】
记录类型为CNAME,主机记录为@,记录值请看上图配置腾讯CDN中分配的CNAME(比如我这里是xiaoweigod.cn.cdn.dnsv1.com)【将xiaoweigod.cn解析 到xiaoweigod.cn.cdn.dnsv1.com】
到这里,简单的接入完成了。
验证:ping一下你的网址,查看对应的IP地址,是web服务器地址还是一个陌生的IP地址,如果是陌生的地址,那么CDN就生效了。
二、https配置
如果你的网站开启了https访问,那么开了CDN加速以后,你的网站是无法访问的。因为CDN不知道你的https加密方式,就会给访问者报一个错误。如果要使网站支持https访问,那么需要在CDN中进行https配置。
首先进入腾讯云的SSL证书管理–上传证书 https://console.qcloud.com/ssl。如果你用的是腾讯的证书,那么以下步骤可以直接忽略。
以我的阿里云SSL证书为例,进入阿里云的安全–证书服务 找到证书,下载对应版本的证书。因为我的web服务程序是nginx,所以下载证书for Nginx。
如图,下载下来是1个pem文件和1个key文件,其中pem文件是证书,key文件是私钥文件。
右键记事本打开.pem文件,复制里面的内容,回到腾讯CDN页面的“上传证书”,在“证书”一栏里粘贴;
右键记事本打开.key文件,复制里面的内容,回到腾讯CDN页面的“上传证书”,在“私钥”一栏里粘贴。
接下来回到CDN的域名管理界面,点域名–高级配置–https配置。里面选择“腾讯云托管证书”,回源方式为:协议跟随。(我这里示范一下,没有配证书,配了证书下图红框处可以选择)
回到高级配置–https配置里,把强制跳转https访问打开。
至此,我们的CDN已经可以支持https了。
三、缓存配置
缓存配置定义了网站的文件中,哪些需要缓存到CDN服务器上,哪些不需要缓存到CDN服务器上。因为我们配置的是静态加速,所以网页文件和一些图片之类长期不会变的东西才需要缓存到CDN服务器上。在php、asp中,页面因为一直会改变,所以不能缓存到CDN服务器,博客类网站的后台也不能缓存。否则会导致内容更新了之后网页迟迟不更新,只有CDN每天刷新了缓存才能更新,中间有较大的延时。因此此类文件我们需要将其配置为不缓存。
以本站为例,在CDN管理界面中打开域名的“缓存配置”,配置如下:
其中0天表示这些内容不缓存。我们将php页面和后台管理文件夹配置为不缓存,其他所有内容1天刷新一次。
至此,CDN的缓存配置完成。
四、名词解释
CNAME 域名
在腾讯云 CDN 控制台接入加速域名后,系统会给对应的域名分配一个“CNAME域名”(域名形式为:*.cdn.dnsv1.com)。用户需要在域名服务商处,配置一条 CNAME 记录,记录生效后,域名解析的工作就正式转向腾讯云CDN,该域名所有的请求都将转向腾讯云CDN的节点。
边缘节点
“边缘节点”为最接近用户的CDN节点(也是一级Cache节点),“边缘节点”的概念为距离最终用户接入具有较少的中间环节的网络节点,对最终接入用户有较好的响应能力和连接速度。
源站
“源站”即网页服务器。
中间源
“中间源”是位于业务服务器(源站)和CDN节点的一个中间层的回源服务器(也是二级Cache),中间源服务器可缓存CDN节点的回源访问,降低业务服务器(即源站)的访问压力。
命中率
“命中率”是当用户访问网站时,从CDN缓存服务器中读取的比例,命中率越高,则表示CDN加速的东西越多,访问速度越快。
回源
“回源”是当用户访问我们的网站时,在CDN的缓存服务器上没有找到相应的内容,则返回源站读取数据,称之为回源。