2021.12 请注意,最近cloudflare禁止了CFP通过才cname新的网站,因此本文中提及的方式已经完全失效。请知悉。
几天前,我发现访问我的博客速度飞快,延迟很低,只在晚上稍有丢包,路由追踪过去发现cloudflare的cdn节点竟然在香港!平常通常会指向美西,这使得CF免费版的CDN在国内访问速度不佳,对于我移动的网络更是“减速器”。路由追踪指向香港,物理距离近了很多,速度当然飞快。
然而,好景不长。最近几天,我在使用我的私有云时,发现网速奇慢无比。路由追踪一看——WTF!被解析到了法国法兰克福!延迟最低200+,高了有400+!高峰时段丢包率也不是很低。习惯之前超低延迟的我,自然受不了了。得想个办法。
实现技术
cloudflare免费版分配到的IP通常是104.24.4.110和104.24.5.110.而这两个IP是任播“Anycast”IP,虽然IP地址相同,但在全球不同地域,入口却是不同的,理论上算法会选择与你距离(不单单是物理距离,这个算法非常复杂)最近的入口进入。
像CF这样的大型云计算网络,它们内部是高速互联的,会以最好的网络进行互联互通。再加上CDN的缓存,不同入口进入的用户,也能拿到一模一样的数据。就像一座摩天大楼,不管从离你多远的入口进入,都算你进入了大楼。这也就是几年前,用“扫描Google IP”的方法给利用GAE的GoAgent续命翻WALL的原理。
然而我不是氪金用户,我是CF免费版用户,这套算法自然而然的也不会把最好的资源给我。这就是为什么有明明有更好的香港的服务器,我却被分配到了法兰克福的服务器上。用户不得不听从CF这套算法的指令,从更远的入口进入。
我所要做的,就是从我最近的入口进入,用最少的时间,拿到相同的数据,让浏览器完成渲染,展示出博客页面。
言简意赅的记录下步骤,近期比较忙,可能稍有疏漏,待我日后慢慢补充。
一、Cloudflare Partner部分
二、第三方DNS部分
附:cloudflare官方IP:
https://www.cloudflare.com/ips-v4
可以对这些官方IP进行路由追踪,选出最适合的IP。
另外还可以查看cloudflare官网使用的节点,通常是最好的线路:
https://www.cloudflare.com/cdn-cgi/trace
其中colo
值为当前服务器位置,使用nslookup www.cloudflare.com
查询当前使用的IP。
除了官方的广播IP外,还有一些分地域的IP。自己谷歌一下吧!这里就不公布了。附:三大运营商推荐线路,2020.7.30诈尸更新:
移动:最推荐使用香港hkix线路,丢包延迟相对较低;另外就是香港cmi线路,但作为移动和cf的public peer,延迟丢包较高。南方移动可以尝试走日本奥电,有时有奇效。新加坡Equinix线路丢包延迟日常爆炸;美西、美中Cogentco线路白天勉强能用,晚上根本没法用。
电信:推荐使用美东电信机房,电信和cf的public peer直连线路,到洛杉矶或圣何塞机房,通常1.0.0.1
使用的就是此线路,但晚上会爆炸。晚上爆炸可以试试走level3到阿姆斯特丹或伦敦。
联通:推荐使用美东gtt线路,到洛杉矶机房,通常1.0.0.1
使用的就是美东线路,另外日本ntt线路需要自己查找,延迟略低但晚间丢包率爆炸。cogentco日常爆炸。
注:线路都是动态的,运行商随时可能调整线路,有的稀有IP还是需要自己找的~附赠一个我自用的IP:104.24.108.166,三网体验都不错。
三、域名提供商部分
效果不言而喻。这是在亚太地区晚高峰,欧洲地区低谷时段进行的测试,二者的差距仍然非常明显。
此外,最近几天我还对这个主题的静态资源进行进一步整合,CSS和JS等静态资源几乎全都用上了国内cdn,速度应该也会有提升吧。
原文链接:https://blog.xmgspace.me/archives/cf-custom-ip.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/21449