keramist 发表于 2025-1-4 00:52:04

通过CloudFlare+SaaS回源优选IP使国内用户高速访问网站

本帖最后由 keramist 于 2025-1-4 01:06 编辑

前言
由于不可抗力因素,使用了Cloudflare开启小黄云在国内的访问速度十分堪忧,间歇性抽风

在之前我们可以使用cloudflare partner来使访问回源到一个优选过后的IP

但是在去年这个方法已经行不通了, 那么我们这些白嫖玩家又不想对接国内备案实名CDN,同时想要保证国内的高速访问

我们应该怎么做呢?

这就是我们这期要讲的主要内容,Cloudflare SaaS回源

什么是SaaS回源?
SaaS回源主要分为两个部分

1. 自定义主机名 (Custom Hostnames)

[*]   你可以设置一个自定义主机名,来作为你的访问域名

2. 回源 (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回源的相关原理之后, 我们可以进行实操了!



[*]    首先我们需要准备两个域名


      I. tongyi.tw.cn <-- 作为 我们的访问域名,也就是自定义主机名,稍后我们访问此域名来访问网站

      II. fallback.tech <-- 作为 我们的回源域名,也就是当我们访问 tongyi.tw.cn 时,cloudflare在内部回源的域名

      III. 我将tongyi.tw.cn 解析在腾讯的DNSPOD上, 而fallback.tech 解析在Cloudflare上


[*]            前者不是必须的,你可以都解析在Cloudflare上,我选择DNSPOD是因为它有免费的分流服务


            可以将境内境外解析到不同的cname上


[*]            而后者则是必须的! 因为只有解析在cloudflare上的域名才可以启用SaaS回源


设置回源域名

添加DNS解析




[*]    首先我们先来添加一个DNS解析
[*]    解析到我们的真实服务器IP地址, 正如上面所说的,这是一个回源的域名,也就是说,服务器的IP到底是什么 只有这台回源域名知道,它的工作也只是起到回源的作用
[*]    这里你可以随意填写一级域名或二级域名,我推荐填写二级域名 也就是 origin.fallback.tech 可以随意起名
[*]    因为填写二级域名, 你还可以在DNS中正常解析一级域名,仅将二级域名作为回退源


添加回退源




[*]    进入到Cloudflare域名管理界面 -> SSL/TLS -> 自定义主机名 -> 添加一个回退源
[*]    回退源地址即为我们刚才解析的二级域名




检查回退源是否有效


[*]    回退源状态: 有效 即代表回退源添加成功,现在访问 origin.fallback.tech 你应该会看到如下界面





[*]    这是因为虽然设置了回退源,但是我们并没有设置自定义主机名,也就是回退源并不知道要将哪个主机名回源到我们的服务器IP


设置自定义主机名
添加自定义主机名



设置主机名信息




[*]    自定义主机名: 填写你要解析的域名, 可以为一级或者二级均可,这里我填写 tongyi.tw.cn



[*]    TLS版本默认填写1.0即可



[*]    证书验证方法填写TXT验证


验证域名所有权




[*]    这里我们需要验证我们域名的所有权和证书验证



[*]    去到你的DNS解析面板添加这两个TXT解析



[*]    值得注意的是你的两个TXT验证名称应该不包含主域名, 例如直接复制下来是_acme-challenge.tongyi.tw.cn 你应该删去 tongyi.tw.cn 即为 _acme-challenge 因为它给你的是验证的完整地址,你的解析已经包括tongyi.tw.cn



[*]    二级域名同理,例如 _acme-challenge.1.tongyi.tw.cn 你应该改为 _acme-challenge.1



[*]    添加好之后稍等片刻,等待CF服务器去验证


设置优选IP

经过我们一番折腾,最好玩的部分来了

设置分流




[*]    添加两个二级域名记录,一个线路选择境内,另一个选择境外



[*]    境外我们直接解析到 1.0.0.5



[*]    境内我们CNAME解析到 csgo.com 你还可以选择很多,只要是国内访问速度不错,使用Cloudflare CDN的,你都可以cname解析上去

   
可使用的CNAME优选域名参考

Qatar2022(SAN JOSE IP) :
    www.qatar2022.qa

    IP查询 :
    ip.skk.moe
    ping.pe

    政府网站:
    乌克兰政府
    www.gov.ua

    泰国政府
    www.thaigov.go.th

    卡塔尔政府
    www.gco.gov.qa

    瑞典🇸🇪政府
    www.gov.se

    美国FBI:
    FBI.GOV

    商业网站:
    CSGO官方网站
    (Cloudflare LONDON ASN):
    CSGO.COM

    DigitalOcean
    digitalocean.com

    VISA官方网站:
    (格式: VISA.国家顶级域名)
    VISA.COM
    VISA.CN
    VISA.FI
    VISA.HK

    伪AMEX:
    AMEX.COM

    SHOPIFY(推荐):
    SHOPIFY.COM

    域名注册商:
    Dynadot.COM

    其它网站:
    SINGAPORE.COM
    JAPAN.COM
    BRAZIL.COM
    MALAYSIA.COM
    RUSSIA.COM添加解析

[*]    再将我们要访问的域名,CNAME解析到我们的CDN记录上即可,

排查错误
[*]    注意如果要访问,我们的站点必须开启SSL证书和HTTPS访问,不然会直接404,因为回源只回源到443端口
[*]    现在我们打开网站测试下能否正常访问

重定向次数过多
提示我们重定向过多,这是因为HTTPS加密的问题,我们进入Cloudflare后台 -> SSL/TLS -> 概述
将SSL/TLS加密模式改为 "完全" 再次尝试访问
Invalid SSL Certificate
[*]    出现此问题是因为我们的回源域名 fallback.tech 在进行回源时,访问的是 tongyi.tw.cn
[*]    虽然我们在验证所有权时申请了一个证书,但那个证书是用于回源之后呈现给用户端的, 在回源过程中不会生效
[*]    所以我们需要给 tongyi.tw.cn 申请一个证书, 可以通过宝塔面板,NPM等等方式,只要申请一个证书并配置即可解决此问题

结果测试
网站访问成功! 我们去itdog Ping一下试试看
Ping 测试

[*]    可以看到我们的网址是经过csgo.com同款的Cloudflare ASN进行解析的
[*]    海外是通过 1.0.0.5 进行解析的

总结    通过这种方法,我们可以实现几乎国内全绿    Cloudflare + SaaS还有很多玩法,自建Cloudflare节点等等
页: [1]
查看完整版本: 通过CloudFlare+SaaS回源优选IP使国内用户高速访问网站