一、本文缘由
本文目的:国内访问走自定优化线路,国外ip走CF CDN 线路
我的博客搭建在 NETCUP VPS 1000 维也纳,但是在使用的过程种,非优化线路国内访问总有些许缺点,架设到优秀的线路鸡配置又不够,若能做到国内外分流访问,将为网站访问速度带来显著提升。
本文参考文章
CloudFlare SAAS+DNSPOD对网站分流 - 国内走优化路线,国外走CF CDN
以下字条解释
来自⭐[教程] 通过CloudFlare+SaaS回源优选IP使国内用户高速访问网站
但本文不涉及优选 IP
字条解释开始
二、SaaS 回源
SaaS回源主要分为两个部分
自定义主机名 (Custom Hostnames)
你可以设置一个自定义主机名,来作为你的访问域名
回源 (Origin Server)
当用户请求特定的主机名(如客户自己的域名)时,请求会被转发到SaaS提供商的原始服务器(或称为回源服务器)。
SaaS回源有什么用? 🧐
可能看到现在大家还是一头雾水,不过没关系,我会给大家根据实例来通俗易懂的解释一下
我们可以使用支持分流的DNS解析服务(例如腾讯的DNSPOD),
将我们需要访问的域名例如
image.dooo.ng
通过CNAME解析到任意一个Cloudflare的节点,例如
csgo.com
,visa.com
,而这些域名解析到的CF的IP通常是经过大陆特殊优化的有些是优选线路,有些的百度云合作的IP地址
将我们的
image.dooo.ng
CNAME解析到csgo.com
之后, 我们访问image.dooo.ng的请求实则是被发送到了经过优选后线路较好的Cloudflare IP上 这个步骤达到了我们优选IP的目的
此时Cloudflare的IP收到了我们的访问请求, 会匹配我们访问的域名
image.dooo.ng
在Cloudflare中是否有匹配的 自定义主机名 如果有, 它会将我们回源到我们设置的 回源服务器 上这里我绘制了一个序列图来帮助大家理解
使用Cloudflare的SaaS回源
我们可以设置自定义域名(例如
image.dooo.ng
)。并通过CNAME记录将其解析到另一个域名(例如
csgo.com
)。这样设置是为了利用Cloudflare的安全和性能特性,如DDoS防护、SSL/TLS加密、CDN加速等。
CNAME解析过程
访问
image.dooo.ng
时,DNS查询会根据CNAME记录找到它实际指向的csgo.com
。由于
csgo.com
已接入Cloudflare CDN,用户的请求会被路由到Cloudflare的边缘节点。
Cloudflare边缘节点处理
Cloudflare的边缘节点处理请求,包括应用安全规则、进行缓存等。
如果请求需要回源(即获取原始内容),Cloudflare会将请求转发到原始的回源服务器。
访问过程的理解
用户访问
image.dooo.ng
实际上是在访问Cloudflare的节点。然后,根据需要,Cloudflare会从原始的回源服务器获取内容。
这个过程对用户透明,用户只知道他们访问的是
image.dooo.ng
,但实际上得到的内容可能是直接来自Cloudflare的缓存,或者是经过Cloudflare优化处理后的来自原始服务器的内容。
SaaS回源主要分为两个部分
自定义主机名 (Custom Hostnames)
你可以设置一个自定义主机名,来作为你的访问域名
回源 (Origin Server)
当用户请求特定的主机名(如客户自己的域名)时,请求会被转发到SaaS提供商的原始服务器(或称为回源服务器)。
什么是SaaS回源?
我们可以使用支持分流的DNS解析服务(例如腾讯的DNSPOD),
将我们需要访问的域名例如
image.dooo.ng
通过CNAME解析到任意一个Cloudflare的节点,例如
csgo.com
,visa.com
,而这些域名解析到的CF的IP通常是经过大陆特殊优化的有些是优选线路,有些的百度云合作的IP地址
将我们的
image.dooo.ng
CNAME解析到csgo.com
之后, 我们访问image.dooo.ng的请求实则是被发送到了经过优选后线路较好的Cloudflare IP上 这个步骤达到了我们优选IP的目的
此时Cloudflare的IP收到了我们的访问请求, 会匹配我们访问的域名
image.dooo.ng
在Cloudflare中是否有匹配的 自定义主机名 如果有, 它会将我们回源到我们设置的 回源服务器 上
字条解释结束
三、准备工具
需分流优化的主域名:以我的im.su1xiao.com为例,购买于spaceship。因cloudflare 不支持分流,请托管在Dnspod、华为云、阿里云等(支持分路线解析);
备胎域名:以我的wxnm.de为例(弄个便宜的即可),托管在CloudFlare,用于SAAS;
主服务器:本文以NC VPS1000翻倍 为例(4C8G512G),性能强劲但国内访问较慢,用来搭建网站、服务;
优化线路 IP:以HK 4837 或DMIT 美西CN2GIA为例,国内访问快,配置底的线路🐔;我所使用的为HK 三网 cmi2线路🐔。
PayPal或信用卡:CloudFlare SAAS 功能需要绑定,实际只用免费套餐。
踩坑点
我同时将 dns 由域名购买网站托管到 cf、腾讯,这中间出现了很多问题,建议只托管到腾讯,或由 cf 转到Dnspod(腾讯)。
四、正文开始
本文主域名使用腾讯 dns 解析,地址:https://console.cloud.tencent.com/cns/detail
备胎域名解析操作(国外访问CF CDN 线路)
工具域名 wxnm.de,A解析1个二级域名到主服务器的ip,并且开启CF CDN(小黄云),作为回源域名;
输入后点击保存即可。
找到 SSL/TLS 加密 默认为灵活,点击配置设置为 完全 或 完全(严格)
点击保存,可以避免重新定向次数过多等问题。
接下来添加回退源,首次使用自定义主机名需要绑定付款方式,绑定后我们选择免费套餐,填写账单的过程就不发了。
这里以刚才填的备胎域名
前面绑定完付款方式后再次点击自定义主机名
本文重点添加后点击展开查看需要记录的 TXT 值,报错不用管,一会解析完就交了
方式一:主域名的DNS添加两条上图解析,图为示例
解析完成,生效不是即时的,需要等几十分钟。
方式二:添加DCV 委派验证记录
我的主域名为im.su1xiao.com。
主机名为_acme-challenge.im值为im.su1xiao.com.ee2483.....dcv.cloudflare.com
如果配置的网站为su1xiao.com。
主机名为_acme-challenge值为su1xiao.com.ee2483.....dcv.cloudflare.com
如果配置的网站为www.su1xiao.com。
主机名为_acme-challenge.www值为su1xiao.com.ee2483.....dcv.cloudflare.com
上述仅用于演示,请自行替换为自己的dcv信息。
以下是解析成功示意:
方式一与方式二我都可以成功解析,并且方式二解析速度比较快,可以尝试。
一个备胎域名只能绑定一个主服务器记录,但可以绑定多个域名,步骤一致。
国外访问ip 部分配置结束
此时可正常配置网站,但是只能国外 ip 访问,通过 1panel 一键部署halo 过程非常简单,不在赘述。
1panel 官网地址:1panel
halo 官网地址:halo
五、配置国内访问优化
打开域名托管服务商 dns 解析
我这里是腾讯,主机记录、A 类型按需配置,线路类型选择:境内,记录值填:你优化线路的 ip,别填成主服务器的 ip!!!
打开优化线路 vps 1panel 面板
添加反向代理
通过 dns 账户验证申请 ssl证书
可以单独申请你想要的的二级域名,但是因为我没有别的用处,直接申请的泛域名,完成后即可进行 https 相关设置。
以DNS认证的方式,完成证书申请:
腾讯云/Dnspod 的访问密钥生成地址:https://console.cloud.tencent.com/cam/capi
六、验证
打开 itdog
可以看到,我的域名国内解析出优化线路的 ip,国外走的是 cf 线路,我没有选择 cf优化,反正也没有外国人看。
七、致谢
由于个人的技术水平及能力所限,文章难免存在不足或疏漏之处,还望各位读者海涵、斧正。
如果您觉得这篇文章对您有帮助,可以点击下方个人资料微信小图标对我进行打赏,这将有助于我更快更好的产出文章,谢谢。