双 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 的存在,加快了用户的访问速度,使用户可以在不提升网速下,获得更好的访问体验.购物时,可以更快的显示商品图片:看电影时,可以随意的拖拽浏览.如果把数据资源比作是一件件包裹,那么用户的带宽就像是一 ...
随机推荐
- Windows 提权-内核利用_1
本文通过 Google 翻译 Kernel Exploits Part 1 – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校 ...
- 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
前言 今天大姚给大家分享 3 个 .NET 开源.免费的文件压缩处理库,希望可以快速帮助同学们实现文件压缩和解压功能! SharpCompress SharpCompress 是一个基于 C# 编写的 ...
- docker 超出共享内存限制 RuntimeError: DataLoader
前言 docker 运行时报错: RuntimeError: DataLoader worker (pid 86) is killed by signal: Bus error. It is poss ...
- PostgreSQL configure: error: readline library not found
前言 安装 PostgreSQL 时报错,以下 configure: error: readline library not found If you have readline already in ...
- git clone加速
使用github的镜像网站进行访问,github.com.cnpmjs.org,我们将原本的网站中的github.com 进行替换.
- ORA-01779: 无法修改与非键值保存表对应的列”中涉及的概念和解决方法
什么是键值保存表(Key-Preserved Table)? 在理解什么是键值保存表之前,首先要知道 可更新的联接视图 这个概念,键值保存表只是保存了允许更新的字段信息的一张表.为什么会出现这么一张表 ...
- 一文速通Python并行计算:01 Python多线程编程-基本概念、切换流程、GIL锁机制和生产者与消费者模型
一文速通 Python 并行计算:01 Python 多线程编程-基本概念.切换流程.GIL 锁机制和生产者与消费者模型 摘要: 多线程允许程序同时执行多个任务,提升效率和响应性.线程分为新建.就绪. ...
- 万字长文详解Text-to-SQL
什么是Text-to-SQL 在各个企业数据量暴涨的现在,Text-to-SQL越来越重要了,所以今天就来聊聊Text-to-SQL. Text-to-SQL是一种将自然语言查询转换为数据库查询的技术 ...
- 【SpringCloud】zuul路由网关
zuul路由网关 概述描述 路由基本配置 路由访问映射规则 查看路由信息 过滤器 太老旧了,就不做了解了
- DevOps系列——Jenkins私服
DevOps基础设施较多,所以客官不要太着急,要有个"渐进明细"的过程,前面说了GitLab,这里再说下Jenkins,这俩算 是较为核心的基础组件,其他组件可选项较多,而这俩的地 ...