我用过的支持ws传输的几家cdn服务商:国外的CloudFlare和CloudFront,国内的腾讯云和百度云加速。最近有意对比了一下,入口都有国内BGP节点,也就是解析的ip是什么入口就是什么,区别不大。差别体现在了出口。

两家CF都是全球部署,边缘加速就近出口,这才是真正的cdn。国内的例如腾讯云也同样全球部署但只是国内范围的“边缘加速”。下面拿我一台加拿大服务器做试验。

搭建v2ray,开2333端口。搭建nginx反代本地2333端口,nginx开80端口。计划:腾讯云cdn连2333端口,CloudFlare连80端口。通过不同端口用以区分cdn。查看端口连接的IP:

腾讯cdn的2333端口
2333端口连接ip(部分)

CloudFlare的80端口
80端口连接ip(部分)

通过查询ipip的纯真数据库,可以发现

腾讯cdn的出口ip

  • 江苏南京 电信
  • 广东深圳 电信
  • 四川 AP基站
  • 湖南长沙 电信
  • 广州东莞 移动
  • 海南海口 移动
  • 重庆市 电信
  • 等等

CloudFlare的出口ip是

  • CloudFlare加拿大多伦多
  • Google全球边缘网络

可以看到CloudFlare的cdn全球一个大内网;腾讯云还在拿国内节点加速国外落地,这是包括百度云在内的国内cdn现状。所以CloudFlare、CloudFront找的是国内入口节点,腾讯云、百度云找的是国外落地节点。
暂时不知道CF国内节点到国外是怎么走的,但十有八九是公网过墙。不然这cdn不比iplc专线更强,不过墙还出口任拨简直就是AIA。

水了一篇文章。但是真的有感CF的强大,买了百度云和腾讯云的cdn竟然要看落地也是傻眼了,原来国内的cdn最适合加速的是国内地区和部分亚太地区。

最后
这篇文章不能就这么点内容,再水点。既然CF无视落地,腾讯云cdn国内节点获取简单,那合二为一各取长处岂不无敌?
操作验证:
使用腾讯云cdn接入域名 tencent-cdn.mebi.me,回源地址填写一个CF的国外ip,比如:104.19.1.1。此ip移动线路会走香港。回源的host填写 cloudflare-cdn.mebi.me。使用CloudFlare接入域名腾讯云处的回源host域名cloudflare-cdn.mebi.me,回源方式就是落地服务器的ip。
以上效果为访问tencent-cdn.mebi.me,腾讯云cdn将流量转发到 cloudflare-cdn.mebi.me,因为 cloudflare-cdn.mebi.me域名被我们自定义解析到 104.19.1.1,一个CloudFlare的ip,那么CloudFlare又会把腾讯云传递的流量转发给落地服务器,相当于用了两次cdn。
以上操作虽然“曲折”但是逻辑没有问题,我实际操作也是可行的。套娃都见过,有见过套娃“cdn”的嘛。

套娃cdn的速度取决于两个cdn之间的连接速度,这里就是腾讯云国内出口跟我们选择的CloudFlare的入口。虽然CloudFlare可以自定义ip灵活的调整入口,但是麻烦的地方在于腾讯云的出口ip是动态的,你无法指定出口ip为某个特定地区。
解决方法也是有的:腾讯云出口ip虽然是动态但是只有固定几个地区,比如江苏电信、上海电信、广州移动等,我们首先为这些地区自选适合的ip,然后找个域名分地区解析这些ip,比如此域名为cdn.mebi.me。腾讯云cdn处的回源方式改成域名,域名就是 cdn.mebi.me,回源host仍然为 cloudflare-cdn.mebi.me。

效果如何?我没试过,但是盲猜无视落地速度也不错,两个cdn之间的速度再怎么也不会差(吧)。考虑到延迟问题,套娃还考虑什么延迟呀。

Last modification:December 28th, 2020 at 01:42 am
如果觉得我的文章对你有用,请随意赞赏