双 CDN 加速 + 智能调度
转载自我的个人博客:双 CDN 加速 + 智能调度 |未名小站
DeepSeek 的官网是一个很典型的双 CDN 加速的场景,当我们使用 IT-Dog 对其发起多地 Ping 的时候,可以看到国内使用的是华为云的服务,国外则使用的是 Cloudflare 的服务:itdog.cn/ping/deepseek.com
在实际的建站过程中,很多的恶意网络攻击都来自于海外,如果都使用国内的 CDN 来抗的话,流量和请求费用会变得十分高昂,而 Cloudflare 则提供了免费的 CDN 服务,而通过 Cloudflare SaaS 功能,我们可以在不切换 nameserver 的情况下将我们的服务接入到 Cloudflare 中,从而为海外用户也提供高质量的服务
Cloudlfare SaaS 接入原理
Cloudflare for SaaS 的核心是使用 CNAME 方式来接入客户域名,其主要流程如下:你先将一个域名接入到 Cloudflare 中,为这个域名开启 Custom Hostnames 服务,之后使用 CNAME 的方式,将业务域名接入到 Cloudflare 中
一旦配置好后,Cloudflare 将接管来自业务域名的流量,并将其导向 Cloudflare 的边缘节点,为其提供服务
整体流程概括
用户访问 → DNS 查询(找出 IP) → 连接 Cloudflare 边缘节点 → 转发流量给源站
|
app.client.com
↓
[client 的 DNS 提供商]
↓
CNAME → client.yoursaas.com
↓
[Cloudflare 的 DNS 记录]
↓
返回 Cloudflare 边缘节点 IP(Anycast)
↓
用户连接 Cloudflare,Cloudflare 处理流量
用户在浏览器中输入业务域名 app.client.com,之后 DNS 提供商返回 CNAME 结果为接入到 Cloudflare 的域名 client.yoursaas.com,之后返回 Cloudflare 的 DNS 记录,之后用户连接到 Cloudflare 的边缘节点,Cloudflare 处理流量
Cloudflare 在这个过程中成为了 app.client.com 的边缘代理,处理了它的流量
如何处理其中的 SSL 和域名所有权验证
Cloudflare 提供了一种叫做「Cloudflare Custom Hostnames + ACM(Advanced Certificate Manager)」的解决方案,你需要添加两条 TXT 记录,用来验证所有权和申请 SSL 证书,申请到的 SSL 证书不会下发给用户,而是直接部署到 Cloudflare 的边缘节点,之后业务上线之后了用户直接访问即可生效
SaaS 接入之后如何设置 WAF 或者缓存
SaaS 接入之后,直接使用业务域名即可,比如说我这里接入的域名为:pic.juniortree.com,我直接在 Cache Rules 里面添加就可以了,和常规的域名是一样的

在对应的 WAF 事件里面也可以看到来自 pic.juniortree.com 的记录

如何接入
具体可以参考这篇文章:实现网站国内外分流(境外接入 Cloudflare) | 半方池水半方田
在 Cloudflare 的域名中,你需要添加「回退源」,也就是最终 Cloudflare CDN 的回源

在 SSL/TLS 中,选择「自定义主机名」,添加回退源为刚刚解析到源服务器的 IP 的域名

之后添加「自定义主机名」为你想接入的域名,之后在想接入域名的 DNS 管理商添加两条 TXT 记录,我这里接入到是阿里云

有效之后,我们需要将业务域名 CNAME 到 Cloudflare 的回退源,我这里将境外解析到 Cloudflare 的回退源,境内解析到腾讯云的 CDN,这样的话就完成了「双 CDN 加速 + 智能调度」

最终实现了全绿,一片好形势啊

并且也可以看到,境内外解析出来的 IP 不同,也实现了分流

存在的问题
因为我的原站在国内,Cloudflare 的边缘节点回源拉取速度很慢,导致国外的用户在初次访问本站的时候没有缓存,速度很慢,这个我还在想办法解决,比如说将图床的服务器迁移到香港去,这样的话腾讯云的 CDN 也有边缘节点,Cloudflare 也有,这样的话就可以兼顾境内外的用户访问了
双 CDN 加速 + 智能调度的更多相关文章
- CDN的智能调度,链路优化的详细解答
您的用户在请求资源的过程中,可能受到网络.地域.带宽等影响,无法保证请求一定是按照最优访问路径进行传递,猫云 CDN 通过对全网链路进行实时监控,结合自研的 GSLB 调度体系和智能路由技术,从以下几 ...
- CDN及CDN加速原理
本想自己写这个主题的文章,但网上已经有人写了一篇非常好的文章,觉得难以望其项背.就没有必要再写,直接转载如下: 在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应速度.优化现有Inte ...
- CDN百科第三讲 | 如果用了云服务器,还需要做CDN加速吗?
在全站上云的背景下,云计算已经不仅仅是大型互联网公司的独享概念,正在被更多的传统企业.中小企业甚至个人站长所采用.在众多云计算服务中,最常见两个产品就是云服务器和CDN,今天的CDN百科第三讲,就给大 ...
- 3.CDN加速简介
什么是CDN CDN的全称是Content Delivery Network,即内容分发网络.CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问 ...
- DNS加速之“智能DNS”跟“双线加速”、“CDN加速”的区别
“智能DNS”跟“双线加速”.“CDN加速”的区别相信,很大部分IDC用户可能还没弄清楚状况,有人觉得智能DNS跟双线加速.CDN加速是类似的技术.其实不然,它们在工作方式上有着本质的区别,但它们又可 ...
- “DNAT+云链接+CDN”加速方案,助力出海企业落地生长
摘要:“DNAT+云链接+CDN”加速方案,真正释放技术红利,真诚助力企业出海. 随着国内互联网行业的人口红利逐渐消失,本土互联网市场竞争不断加剧,加之国家多项“走出去”政策的推动,越来越多的中国互联 ...
- CDN和智能DNS原理和应用 (原)
CDN是什么? CDN的全称是Content Delivery Network,即内容分发网络. CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调 ...
- CDN是什么与CDN加速的原理
CDN是什么 CDN全称:Content Delivery Network或Content Ddistribute Network,即内容分发网络 CDN设计思路 避让:尽可能避开互联网上有可能影响数 ...
- 什么是网站CDN服务,CDN加速原理?
转载:http://server.zzidc.com/fwqcjwt/728.html 摘要:在为您的网站打开速度发愁吗?您有没有发现有些大网站每天拥有几十万或者上百万,甚至几亿用户的访问,而且不同用 ...
- 老司机的自信,让 CDN 加速再加速
CDN 的存在,加快了用户的访问速度,使用户可以在不提升网速下,获得更好的访问体验.购物时,可以更快的显示商品图片:看电影时,可以随意的拖拽浏览.如果把数据资源比作是一件件包裹,那么用户的带宽就像是一 ...
随机推荐
- FastAPI 错误处理与自定义错误消息完全指南:构建健壮的 API 应用 🛠️
title: FastAPI 错误处理与自定义错误消息完全指南:构建健壮的 API 应用 ️ date: 2025/3/12 updated: 2025/3/12 author: cmdragon e ...
- Web前端入门第2问:前端开发是什么?与后端、全栈的区别是什么?一个完整的Web项目有哪些角色参与?
一个完整的Web项目有哪些角色参与? 提出需求(这一步可以是甲方,也可以是用户) 需求分析,画出原型图(产品经理) 根据原型图输出 UI 界面及交互图(UI/UX设计师) 根据UI及交互效果画出页面, ...
- sudo: unable to resolve host xxxx: Name or service not known
前言 在 Linux 环境中,我使用 sudo 执行命令,发生报错:sudo: unable to resolve host xxxx: Name or service not known 解决 这个 ...
- Kubernetes的工作机制
云计算时代的操作系统 Kubernetes 是一个生产级别的容器编排平台和集群管理系统,能够创建.调度容器,监控.管理服务器. Kubernetes 的基本架构 操作系统的一个重要功能就是抽象,从繁琐 ...
- golang实现三重DES加密解密
DES DES(Data Encryption)是1977年美国联邦信息处理标准(FIPS)中所采用的一种对称密码(FIPS46-3),一直以来被美国及其他国家的政府和银行等广泛使用.随着计算机的进步 ...
- VSCode 中 Json 文件介绍
Visual Studio Code 官方文档 1. Json 配置文件 Editing JSON with Visual Studio Code settings.json 分类 defaultse ...
- 准确理解 JS 的 ++ 运算符
对于刚开始接触前端开发的朋友们来说,可能地一个令人苦恼的问题是关于运算符 ++ 的计算,特别是它还有前置与后置的区别.当它们和一堆运算在一起的时候,常常令人头晕目眩! 我经常性地称它是一个***难人的 ...
- 用正则表达式做爬取--java进阶day06
1.String类中与正则有关的方法 replaceAll方法中要填入两个正则表达式,第一个是我们要修改的字符串,第二个则是我们要改成以后的字符串 如下图,出师表中存在很多数字,我们要删去这些数字,就 ...
- JDBC-增删查改操作
使用场景:测试家族族长分成时需要批量添加家族流水记录,但手动添加和SQL语句添加较为麻烦 操作步骤 运行环境:Java8+IDEA 1.打开IDEA 点击File->New->Projec ...
- 31.3K star!开源免费本地AI神器,一键部署多模态大模型!
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 " 完全开源.本地优先的AI解决方案,支持文本/语音/图像/视频生成,消费级硬件即 ...