说说本站自建 CDN 完整解决方案

小助手读文章 00:00 / 00:00

源站托管于国外主机,由于国内线路情况复杂,打开速度往往比较慢,难以均衡。鉴于手上还有其他家几台主机在吃灰,故考虑以 CDN 分流方式用上。

概况

主机位置路由情况
源站台湾电信、联通直连、移动绕美
备用 1香港电信、联通、移动直连
备用 2日本电信、联通直连,移动绕美
备用 3新加坡IPv4 全部绕美,IPv6 联通、移动直连

方案

替换 DNS

各主机位置、路由各有差异,故考虑替换域名默认 DNS,改为支持运营商、地域分别解析的 DNS,参考《如何选择 DNS 解析:支持运营商(EDNS)和地域(GeoDNS)的免费 DNS 解析服务 - 华为云云解析 DNS》。

节点同步

如果直接在各个主机都运行与源站相同的软件系统,并进行数据同步,效率不高,较浪费资源,故考虑改为 Nginx 反代的方式实现各节点数据同步,参考《利用 Nginx 反向代理和缓存功能自建及优化 CDN 加速节点详细教程》。

国外优化

虽然网站受众不一定是全球都有,但是主机仅位于香港、日本、新加坡,对除此外的地区如美国,访问依然没有改善,故考虑同步使用上 CloudFlare CDN,作为海外区域除上述地区的接入节点。

要使用 CloudFlare CDN 有两个方法。一个是将 DNS 托管于 CloudFlare,但 CloudFlare 不支持 EDNS 和 GeoDNS,所以这个方法排除;另一个是利用 CloudFlare 合作伙伴使用 CNAME 接入,这个方法可以指定优化 IP,故采用这个方法进行国外优化,参考《使用 CNAME 接入 CloudFlare 新玩法》;

分线解析

到这里,各节点都已经可以正常工作了,接下来要做的就是利用 DNS 就近分配节点,参考本站解析:

地区/线路解析类型解析节点
大陆_移动A备用 1
大陆_移动AAAA备用 3
大陆_电信A备用 2
大陆_联通A备用 2
大陆_联通AAAA备用 3
大陆_默认A备用 2
全球_香港A备用 1
全球_日本A备用 2
全球_新加坡A备用 3
全球_默认ACloudFlare
全球_默认AAAACloudFlare

解析优化

现在部分地区我们只分配了一个节点,一旦节点宕机将无法访问,所以根据节点情况可以多分配几个。比如 大陆_移动 线路,可以分配 CloudFlare 节点作为备用。

解析生效后,再使用 ChinaZ 站长之家的 ping 检测 来测试各地的访问情况,然后根据结果增加或修改解析。比如黑龙江联通对节点 备用 1 更友好,那么就可以增加 黑龙江_联通 备用 1 的解析。

题外话

细心的朋友可能已经发现,像这次自建 CDN 解决方案,其实相关文章都有提到过了,就看怎么整合在一起。比如在上述方案种,还可以使用 QUIC 协议优化连接开启 CDN 后保护源站 IP开启 TLSv1.3 支持 等等。所以不管是看本站文章,还是网上搜索,都应该带着想法有目的地看,这样可以收获到更多。


ArmxMod for Typecho
个性化、自适应、功能强大的响应式主题

推广

 继续浏览关于 nginxcdn华为云建站经验方案 的文章

 本文最后更新于 2019/07/15 16:00:36,可能因经年累月而与现状有所差异

 引用转载请注明:VirCloud's Blog > 建站 > 说说本站自建 CDN 完整解决方案

精选评论

  1. 森屿博客

    我前面也自建了cdn 但是只有一个节点 而且又慢 索性就放弃了 icon_arrow.gif

    1. 欧文斯

      可以配合 CF 使用,国内用源站,国外用 CF

    2. 欧文斯