对于那些权重在五點零以及五點零以上的域名, 在接入CDN的时候, 大家一定要记住一个核心的原则, 这个原则只有一个内容, 就是DNS解析的整个链条得要尽可能的短一些, TTL的数值绝对不能低于六百秒, 还有回源所采用的协议和源站的情况必须是严格一致的。

下面将按照具体的部署顺序, 把完整的操作规范给大家逐一列出来。

部署前确认

1. 需要去确认一下, 那个源站的IP地址, 并没有被CDN的厂家列入到黑名单里面, 目的就是为了避免在第一次向源站请求数据的时候, 结果被系统给拦截下来。

2. 把域名在当前的 DNS 里面那些已经失效的 A 记录, 或者是 CNAME 残余都清理掉, 要保证解析那条记录是唯一的。

3. 您需要让源站的防火墙把CDN回源的这个IP段给它放行, 具体的那个IP段信息, 可以在CDN厂商的那个控制面板里头的“回源IP列表”这里面去拿到。

4. 在已经将SSL证书部署到了源站上的时候, 你需要确保证书中的CN属性或者是SAN属性能够覆盖得非常全面,把那些所有的用于CDN回源的Host值全都包括进去。

核心配置(按顺序执行)

第一步操作是在CDN控制台中把加速域名给加上高权重域名的CDN部署建议, 这时候要把协议选项选成HTTPS, 同时源站的类型得按照实际的网络架构来挑, 从IP和域名这两个选项里选一个。

第2步的时候, 需要把回源协议设置为HTTPS, 但是只有当源站支持这种协议的情况下才这么做, 接着要在回源Host这一栏填写原始的域名名字, 千万不要把它改成IP地址, 因为高权重的域名对于Host头是非常敏感的, 一旦将Host进行修改, 就很容易触发源站的WAF拦截这个情况。

第三步要把DNS的TTL设置成600秒, 如果设置的数值低于600秒, 全球递归DNS的缓存命中率就会急剧下降, 导致回源请求的数量突然增加, 要是设置的数值高于3600秒, 那么节点切换的时候生效延迟就会过长。

进入第4步, 要开启HTTP/2这个功能,还需要开启TLS 1.2及以上的版本。这是因为高权重的域名在移动设备上的流量占比经常会超过60%这个比例龙南市就业服务平台, 而HTTP/2里的多路复用技术对于提升首屏的加载速度会有非常明显的效果。

第5步: 缓存规则是按路径层次来进行划分, 针对静态资源, 比如/static/以及/assets/这些路径, 设置缓存时间为2592000秒;对于HTML页面而言, 是不进行缓存的;而对于API路径方面, 同样也是不缓存的。

第6步是配置智能路由或者是条件回源, 让国内的用户的请求走向国内节点, 让海外的用户的请求走向对应区域节点, 这样做是为了杜绝跨洋回源。

DNS切换

高权重域名CDN部署怎么配?6个关键步骤和避坑要点一次说清(图1)

接入任务完成之后, 要把原来的A记录替换成给到的CNAME。每个厂商给的格式不太一样, 比如说像是 dig +trace 里面写的那种情况。在正式切换之前, 要用 dig +trace 这个命令去确认一下这条CNAME的链路, 保证上面没有环路的问题。

等到切换工作做完以后, 要去DNSChecker里面去做测试。需要分别测试国内的解析效果, 还需要测试海外的解析效果。一定要确保能够在24小时之内, 让全球所有的地方都生效。

高频避坑点

不要在整体环境里直接给 Cache-Control: no-cache 做配置, 因为这么一搞的话, CDN 那边负责缓存的那一层东西, 就会完全起不到作用, 等于白设。

必须把robots.txt还有sitemap.xml这两样东西, 统统都保留在CDN缓存层这个地方去, 不然的话, 搜索引擎那边爬取抓取数据的行为, 就会因为要回到源站去获取内容而产生延迟的问题, 最终导致时间超时的这种状况出现, 这就一定会对网站的权重造成影响。

把源站的SSL证书和CDN这边的SSL证书的有效期给错开一下, 至少也要保持30天的时间差,这样做是为了避免因为两个证书在同一时间到期而造成了整个网站的访问中断这种情况发生。

<在进行切换操作的过程中高权重域名的CDN部署建议, 要保留之前的A记录作为后备方案, 先观察72个小时, 确保没有出现任何异常状况之后, 再把该记录给删除掉>。

上线验证

使用curl -I 这个命令来检查, 看返回的响应头里面是不是包含了CDN的相关标记, 具体可以留意一下有没有X-Cache 和 Via 这些字段。

使用浏览器里面的开发人员工具进行检查, 能够确认相关的请求实际上是命中了CDN节点, 而并不是源站IP。

使用WebPageTest工具针对国内的不同区域进行TTFB指标测试, 要求该数值应小于或等于200毫秒。

可以通过查看监控面板来最终确认, 其中的缓存命中率是大于或等于百分之九十五的, 同时回源率也是小于百分之五的。

以上内容是高权重域名进行CDN部署的标准操作流程, 只要按照顺序执行就可以完成整个链路的配置以及最终的验证。