利用DNSPod与Cloudflare实现CDN境内外分区域智能解析

问题和目标

腾讯云境外CDN确实在价格上相对较高,这对于许多寻求成本效益的用户来说可能是一个不小的负担。同时,Cloudflare(CF)虽然在全球范围内有着出色的网络覆盖和性能,但在境内的访问速度有时可能不尽如人意,这在一定程度上影响了用户体验。

因此,如果能够实现境内使用腾讯云的CDN服务,而境外则利用Cloudflare的优势,那无疑将是一种理想的解决方案。这样的配置不仅能够降低境外CDN的成本,还能确保境内访问的速度与稳定性,从而为用户提供更加流畅和高效的网络体验。

要实现这一方案,可能需要借助一些技术手段和策略,比如智能DNS解析、CDN服务商之间的合作等。通过这些方式,我们可以根据用户的地理位置和网络环境,智能地选择最适合的CDN服务,从而为用户提供最佳的网络访问体验。

总之,通过合理的配置和优化,我们可以实现境内使用腾讯云CDN、境外使用Cloudflare的完美结合,为用户带来更加高效、稳定和经济的网络访问体验。

大致步骤

腾讯云新建CDN,拿到CNAME。

CF通过自定义主机名+中转域名实现CDN功能,拿到CNAME。

DNSPod使用分区域解析功能,分别创建默认+境内两条解析记录,默认给CF境内给腾讯CDN。

默认给CF是为了防止因IP属地识别出错,导致腾讯云CDN跑境外流量造成欠费。

详细步骤

假设,
IP为:12.34.56.78,
域名为:example.com,
CF中转用域名(已绑到CF)为:ba.example-proxy.com

腾讯CDN

这个跳过,域名[example.com]绑上,源站IP[12.34.56.78]填上,记下分配到CNAME,没啥可讲的。

CloudFlare

需要绑定Paypal(Paypal需要绑了银行卡/信用卡,可以在开通SaaS后解绑)开通 Cloudflare for SaaS 服务。

先上一个大致原理图

境外Client访问example.com
-> DNSPod一看非境内IP,返回默认记录(CNAME example.com ba.example-proxy.com)
-> 继续执行DNS查询,查到(A ba.example-proxy.com [CF的泛播IP])
-> 境外Client带着ba.example-proxy.com的SNI访问返回的[CF的泛播IP]
-> CF收到请求,查到SNI==某自定义主机名,根据该自定义主机名设置的回退源(ba.example-proxy.com)的IP(12.34.56.78),给这个IP发送请求。

简而言之,CF设置的ba.example-proxy.com等价于腾讯CDN给的CNAME域名。
CF绑定的example-proxy.com设置的IP等价于腾讯CDN设置里的源站地址

设置中转域名,开启代理

绑定一个域名到CF,作为中转。

像.top等就好,免费域名.ml都行,只要能绑到CF。

设置一条A记录:

主机名随便设置,反正不是公开给人看的,长点也没关系,当然用@也可以。

记录类型主机名代理其他
Aba12.34.56.78默认
图片[1]-利用DNSPod与Cloudflare实现CDN境内外分区域智能解析-SinsTu NT

设置自定义主机名

如图,进入设置项,设置好自定义主机名(准备添加CDN的域名example.com)、回退源(中转域名ba.example-proxy.com)

图片[2]-利用DNSPod与Cloudflare实现CDN境内外分区域智能解析-SinsTu NT

第三步添加完自定义主机名后,要根据提示到DNSPod里给目标域名添加对应的TXT记录,验证域名所有权。

也就是到example.com添加TXT记录

图片[3]-利用DNSPod与Cloudflare实现CDN境内外分区域智能解析-SinsTu NT

DNSPod设置分区域解析

给example.com添加两条解析

记录类型主机名记录值线路
CNAME@ba.example-proxy.com默认
CNAME@腾讯云CDN给的CNAME境内

等生效

唯一有延迟的就是CF验证自定义主机名那里。
如果没有自动通过验证,可以手动点击刷新手动检测让他生效。

图片[4]-利用DNSPod与Cloudflare实现CDN境内外分区域智能解析-SinsTu NT

右上角的刷新

© 版权声明
THE END
扫码关注微信公众号,更多精彩
点赞15打赏 分享
三月 14

本站历史上的今天

    "吼吼~~~,往年的今天站长不知道跑哪里偷懒去了~~~"
评论 抢沙发

    暂无评论内容