Loading... 前言 🚀 ======= 由于不可抗力因素,使用了Cloudflare开启小黄云在国内的访问速度十分堪忧,间歇性抽风 在之前我们可以使用cloudflare partner来使访问回源到一个优选过后的IP 但是在去年这个方法已经行不通了, 那么我们这些白嫖玩家又不想对接国内备案实名CDN,同时想要保证国内的高速访问 我们应该怎么做呢? 这就是我们这期要讲的主要内容,Cloudflare SaaS回源 什么是SaaS回源? 🤔 ================== SaaS回源主要分为两个部分 ------------------------ 1. 自定义主机名 (Custom Hostnames) * 你可以设置一个自定义主机名,来作为你的访问域名 2. 回源 (Origin Server) * 当用户请求特定的主机名(如客户自己的域名)时,请求会被转发到SaaS提供商的原始服务器(或称为回源服务器)。 SaaS回源有什么用? 🧐 ==================== * 可能看到现在大家还是一头雾水,不过没关系,我会给大家根据实例来通俗易懂的解释一下 * 我们可以使用支持分流的DNS解析服务(例如腾讯的DNSPOD), 将我们需要访问的域名例如 `b.com` 通过CNAME解析到任意一个Cloudflare的节点, 例如`csgo.com`, `visa.com`,而这些域名解析到的CF的IP通常是经过大陆特殊优化的 有些是优选线路,有些的百度云合作的IP地址 * 将我们的 `b.com` CNAME解析到 `csgo.com` 之后, 我们访问b.com的请求实则是被发送到了 **经过优选后线路较好的Cloudflare IP**上 这个步骤达到了我们优选IP的目的 * 此时Cloudflare的IP收到了我们的访问请求, 会匹配我们访问的域名 `b.com` 在Cloudflare中是否有匹配的 **自定义主机名** 如果有, 它会将我们回源到我们设置的 **回源服务器** 上 * 这里我绘制了一个序列图来帮助大家理解 ![](https://legacy-pics.meiqiausercontent.com/images/-/d4fP/5H8f7qvwO6hIATwL1IL9.png?auth_key=1712505600-98ee609d4acbacff748f25d8c50a23b8-0-a62b49ccdfefbb44f7867a7f7b901e67) 使用Cloudflare的SaaS回源 ------------------------ * 我们可以设置自定义域名(例如 `b.com`)。 * 并通过CNAME记录将其解析到另一个域名(例如 `csgo.com`)。 * 这样设置是为了利用Cloudflare的安全和性能特性,如DDoS防护、SSL/TLS加密、CDN加速等。 CNAME解析过程 ------------- * 访问 `b.com` 时,DNS查询会根据CNAME记录找到它实际指向的 `csgo.com`。 * 由于 `csgo.com` 已接入Cloudflare CDN,用户的请求会被路由到Cloudflare的边缘节点。 Cloudflare边缘节点处理 ---------------------- * Cloudflare的边缘节点处理请求,包括应用安全规则、进行缓存等。 * 如果请求需要回源(即获取原始内容),Cloudflare会将请求转发到原始的回源服务器。 访问过程的理解 -------------- * 用户访问 `b.com` 实际上是在访问Cloudflare的节点。 * 然后,根据需要,Cloudflare会从原始的回源服务器获取内容。 * 这个过程对用户透明,用户只知道他们访问的是 `b.com`,但实际上得到的内容可能是直接来自Cloudflare的缓存,或者是经过Cloudflare优化处理后的来自原始服务器的内容。 实际操作 🛠️ ============= 准备域名 🌐 ----------- * 在了解了SaaS回源的相关原理之后, 我们可以进行实操了! * 首先我们需要准备两个域名 1. `a.com` <-- 作为 我们的访问域名,也就是自定义主机名,稍后我们访问此域名来访问网站 2. `b.com` <-- 作为 我们的回源域名,也就是当我们访问 `a.com` 时,cloudflare在内部回源的域名 3. 我将`a.com` 解析在腾讯的DNSPOD上, 而`b.com` 解析在Cloudflare上 * 前者不是必须的,你可以都解析在Cloudflare上,我选择DNSPOD是因为它有免费的分流服务 可以将境内境外解析到不同的cname上 * 而后者则是必须的! 因为只有解析在cloudflare上的域名才可以启用SaaS回源 设置回源域名 🔄 =============== 添加DNS解析 🧩 -------------- ![](https://image.dooo.ng/i/2023/11/28/6565c5ed316f3.jpg) * 首先我们先来添加一个DNS解析 * 解析到我们的真实服务器IP地址, 正如上面所说的,这是一个回源的域名,也就是说,服务器的IP到底是什么 只有这台回源域名知道,它的工作也只是起到回源的作用 * 这里你可以随意填写一级域名或二级域名,我推荐填写二级域名 也就是 `origin.fallback.tech` 可以随意起名 * 因为填写二级域名, 你还可以在DNS中正常解析一级域名,仅将二级域名作为回退源 添加回退源 🔄 ------------- ![](https://legacy-pics.meiqiausercontent.com/images/-/g9Cj/xLX0whydlY71pJTFMYsi.png?auth_key=1712505600-fae1646dc22489911bcb6c443452154c-0-6482ba3375f8d2e3f41c8212d7e1ec17) * 进入到Cloudflare域名管理界面 -> SSL/TLS -> 自定义主机名 -> 添加一个回退源 * 回退源地址即为我们刚才解析的二级域名 ![](https://image.dooo.ng/i/2023/11/28/6565c6b4281c9.jpg) 检查回退源是否有效 ✔️ ----------------------- * 回退源状态: `有效` 即代表回退源添加成功,现在访问 `origin.fallback.tech` 你应该会看到如下界面 ![](https://legacy-pics.meiqiausercontent.com/images/-/OZ38/SwF9M0IcWhJetgO0nnc5.png?auth_key=1712505600-4677d6be52706fff494677f3f08641ac-0-83268ad6520f775f262ecd6510062b42) * 这是因为虽然设置了回退源,但是我们并没有设置自定义主机名,也就是回退源并不知道要将哪个主机名回源到我们的服务器IP 设置自定义主机名 🏠 =================== 添加自定义主机名 🌐 ------------------- ![](https://image.dooo.ng/i/2023/11/28/6565c922e065d.jpg) 设置主机名信息 🛠️ ------------------- ![](https://image.dooo.ng/i/2023/11/28/6565c9322b81f.jpg) * 自定义主机名: 填写你要解析的域名, 可以为一级或者二级均可,这里我填写 `a.com` * TLS版本默认填写1.0即可 * 证书验证方法填写TXT验证 验证域名所有权 📋 ----------------- ![](https://image.dooo.ng/i/2023/11/28/6565ca912e0fd.jpg) * 这里我们需要验证我们域名的所有权和证书验证 * 去到你的DNS解析面板添加这两个TXT解析 * 值得注意的是你的两个TXT验证名称应该不包含主域名, 例如直接复制下来是`_acme-challenge.a.com` 你应该删去 `a.com` 即为 `_acme-challenge` 因为它给你的是验证的完整地址,你的解析已经包括`a.com` * 二级域名同理,例如 `_acme-challenge.1.a.com` 你应该改为 `_acme-challenge.1` * 添加好之后稍等片刻,等待CF服务器去验证 设置优选IP 🚀 ============= 经过我们一番折腾,最好玩的部分来了 设置分流 🛣️ ------------- ![](https://image.dooo.ng/i/2023/11/28/6565cd52ead7e.jpg) * 添加两个二级域名记录,一个`线路`选择`境内`,另一个选择`境外` * 境外我们直接解析到 `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 ``` 添加解析 🧩 ----------- ![](https://image.dooo.ng/i/2023/11/28/6565cea7f34da.jpg) * 再将我们要访问的域名,CNAME解析到我们的CDN记录上即可, 排查错误 🔍 =========== * 注意如果要访问,我们的站点必须开启SSL证书和HTTPS访问,不然会直接404,因为回源只回源到443端口 * 现在我们打开网站测试下能否正常访问 重定向次数过多 -------------- ![](https://image.dooo.ng/i/2023/11/28/6565cf6930430.jpg) 提示我们重定向过多,这是因为HTTPS加密的问题,我们进入Cloudflare后台 -> SSL/TLS -> 概述 ![](https://image.dooo.ng/i/2023/11/28/6565cfc3f3346.jpg) 将SSL/TLS加密模式改为 "完全" 再次尝试访问 Invalid SSL Certificate ----------------------- ![](https://image.dooo.ng/i/2023/11/28/65660ac867011.webp) * 出现此问题是因为我们的回源域名 `b.com` 在进行回源时,访问的是 `a.com` * 虽然我们在验证所有权时申请了一个证书,但那个证书是用于回源之后呈现给用户端的, 在回源过程中不会生效 * 所以我们需要给 `a.com` 申请一个证书, 可以通过宝塔面板,NPM等等方式,只要申请一个证书并配置即可解决此问题 结果测试 🧪 =========== ![](https://image.dooo.ng/i/2023/11/28/6565d0b8e8501.jpg) 网站访问成功! 我们去itdog Ping一下试试看 Ping 测试 --------- ![](https://image.dooo.ng/i/2023/11/28/6565d0ff7ae80.jpg) * 可以看到我们的网址是经过csgo.com同款的Cloudflare ASN进行解析的 * 海外是通过 1.0.0.5 进行解析的 总结 ==== > 通过这种方法,我们可以实现几乎国内全绿 > Cloudflare + SaaS还有很多玩法,自建Cloudflare节点等等 最后修改:2024 年 04 月 08 日 © 禁止转载 赞 如果觉得我的文章对你有用,请随意赞赏
2 条评论
不错学习了