前言
从去年年底开始接触cloudflare(下文中简称为CF)开始,我就经常在一些文章中提到要写个关于CF功能的系列教程,不过嘛,由于CF的免费功能实在是太多,要把一个功能搞清楚就需要不停学习和实战很长时间,再加上隔三叉五的不停接触到新功能,然后又是一番学习实战,搞得我一直不停的在学习和实战中循环,自然也就没有写系列教程的自信和心情了。
一直到了最近,我感觉CF常用的功能基本都摸了一遍了,加上暂时没有什么优先级比较高的单独的技术点想要写了,我觉得我终于可以开始撰写拖了这么久的CF系列教程了,也算是我这大半年来对使用CF诸多功能的一个汇总,同时也会把以前零散写的关于CF功能的文章也整理进系列教程里。
不过,在开始正式的功能使用教程之前,按照一般技术方案的惯例,先介绍一下CF公司及相关解决方案。
CF公司及解决方案介绍
公司介绍
Cloudflare 是一家全球领先的互联网安全和性能优化服务提供商,成立于 2009 年,总部位于美国加利福尼亚州旧金山。它通过提供一系列服务来保护和加速全球数百万个网站、API 和互联网应用程序,使得互联网更加安全、快速和可靠。
公司的规模和覆盖
- 全球网络:Cloudflare 的全球 Anycast 网络覆盖超过 200 个城市,分布在 100 多个国家。
- 员工人数:截至 2024 年初,Cloudflare 拥有约 2,500 名员工。
- 客户基础:Cloudflare 服务于各种规模的客户,从个人网站到大型企业和政府机构。
主要产品和解决方案
内容分发网络 (CDN)
Cloudflare 的 CDN 网络通过全球分布的服务器缓存和分发内容,显著降低页面加载时间,提升用户体验。
- 功能:
- 静态内容缓存:将网站的静态内容(如图片、CSS、JavaScript)缓存到边缘节点。
- 自动优化:压缩文件、图片优化、延迟加载等功能提升性能。
DDoS 防护
Cloudflare 提供强大的 DDoS 防护,能够检测并缓解各种类型的 DDoS 攻击,保护网站免受大规模攻击。
- 功能:
- 自动检测和缓解:实时监控和自动缓解网络层和应用层的攻击。
- 全球 Anycast 网络:将攻击流量分散到全球多个节点,降低单点压力。
DNS 服务
Cloudflare 提供快速且安全的 DNS 解析服务,保障高性能和稳定性。
- 功能:
- 快速解析:通过全球分布的节点,提供快速的 DNS 查询响应。
- 安全性:内置 DDoS 防护和 DNSSEC 支持,防止 DNS 欺诈和缓存中毒攻击。
Web 应用防火墙 (WAF)
Cloudflare 的 WAF 通过规则引擎过滤和拦截恶意请求,保护网站免受常见的 Web 应用攻击。
- 功能:
- 预置规则集:内置 OWASP Top 10 攻击防护规则。
- 自定义规则:用户可以根据需求创建和调整自定义防护规则。
SSL/TLS 加密
Cloudflare 提供免费和付费的 SSL/TLS 证书,确保客户端与服务器之间的数据传输安全。
- 功能:
- 自动化证书管理:自动生成、续订和管理 SSL/TLS 证书。
- 强制 HTTPS:自动将所有 HTTP 流量重定向到 HTTPS。
边缘计算
Cloudflare Workers 允许开发者在全球边缘节点上运行 JavaScript 代码,减少延迟,提升性能。
- 功能:
- 无服务器计算:无需管理底层基础设施即可部署代码。
- 快速响应:通过在边缘节点处理请求,减少往返时间。
零信任安全
Cloudflare 提供基于零信任模型的安全访问控制解决方案,如 Cloudflare Access 和 Cloudflare Gateway。
- 功能:
- Cloudflare Access:为应用程序提供细粒度的访问控制,支持多因素认证(MFA)。
- Cloudflare Gateway:保护用户免受恶意内容和网站的攻击,提供安全的互联网访问。
CF解决方案的优势
其实,国外类似CF这样提供整体解决方案的公司还有不少,比如:AWS(Amazon Web Services)+CloudFront、Microsoft Azure、GCP(Google Cloud Platform)、Imperva等等,但是CF和这些竞争对手比有自己独特的优势:
1. 全球广泛的网络覆盖
Cloudflare 拥有一个庞大的 Anycast 网络,覆盖超过 200 个城市和 100 多个国家。这种广泛的网络覆盖使得 Cloudflare 能够为全球用户提供低延迟和高可靠性的服务。
说人话就是:在全球(除开少数几个特殊国家)直接建立了自己的骨干网(大内网),可以将任何地点(除开那几个特殊国家)发来的请求包从离该发送地点最近的接入点(边缘网络)接入自己的大内网,然后从大内网以最优化的路径到达请求访问的最终目标,这样一来,访问效率相对于传统的一跳一跳从公网走要高得多。
2. 集成的全栈服务
Cloudflare 提供全面的一站式服务,包括 CDN、DDoS 防护、DNS 服务、Web 应用防火墙 (WAF)、SSL/TLS 加密、边缘计算等。这种集成的服务组合使得客户可以在一个平台上满足多种需求,简化了管理和运维。
说人话就是:直接在一个操作界面把所有的相关功能配置全部集成,而这个操作界面还在不停的添加和整合新的功能。
3. 免费和经济实惠的服务
Cloudflare 提供免费和付费的服务选项。对于小型网站和个人用户,Cloudflare 的免费计划已经能够提供基本的安全和性能优化服务。对于企业用户,其付费计划也具有竞争力的价格,且功能强大。
说人话就是:对于绝大部分的个人站长,基本功能统统可以白嫖(Free计划)。
哪些算基本功能呢?我列举几个正在使用的:
- 无限制的DNS域名托管(PTR都是免费使用的,只要你有固定IP地址~,腾讯 3个PTR 1500/年,你细品~)
- 无限量的CDN(其实还是有限量的,比如你CDN流量用了几百T甚至上PB~,上次我看一个哥们把CF的免费CDN用来当做小姐姐网站的图床的缓存,然后因为流量过大被封号~)
- 无限量的COS(就是R2,存储空间无限量,外接访问流量无限量,不过和CDN同理,应该还是有上限的)
- 免费的不限量的SSL证书(估计也有上限,但是貌似没看到人说达到过上限)
- 免费的电子邮件路由(就是直接用你的域名后缀做邮箱地址收邮件),可以自定义很多个邮箱前缀
- 免费的web防火墙(5条规则上限,一般人基本够了,能够实现著名的5秒盾拦截爬虫、防盗链等诸多高级功能)
- 转换规则(10条规则上限,能实现rewrite URL、修改请求头、修改响应头等功能)
- 重定向规则(10条规则上限)
- 缓存规则(10条规则上限)
- 页面规则(3条上限,能够实现诸多功能,不过奇怪了,这玩意前段时间不是被废除了嘛,怎么又生效了?)
- zero Trust提供的零信任网络,Free计划可以添加50个用户,完全够了,提供包含tunnel功能(内网穿透直接发布应用)在内的诸多应用,6月份之前还可以使用warp企业版,可惜,现在基本被废了。
- cloudflare pages(能和github仓库联动)的静态页面托管功能
太多了,还有一些我还没机会使用的功能…..以上这些才是对个人站长而言最有价值的服务,所以,有人称cloudflare为"大善人",我觉得是实至名归的。
4. 创新的边缘计算
Cloudflare Workers 是一个强大的边缘计算平台,允许开发者在 Cloudflare 的边缘节点上运行 JavaScript 代码。
这个平台可以显著减少延迟,提升应用程序的性能和灵活性,能实现什么功能就看运行什么JS脚本了,github上有不少基于worker的项目。
注:Free计划1天10万请求,正常个人博客用不完(有异常流量除外,比如攻击),当然,如果是一些刁专的功能,像docker-hub被封之后用worker实现的能拉取镜像的反向代理之类,如果使用的人多了10万的额度也不够使。
5. 强大的 DDoS 防护能力
Cloudflare 拥有业界领先的 DDoS 防护技术,能够自动检测并缓解各种类型和规模的 DDoS 攻击。其全球 Anycast 网络设计有助于将攻击流量分散到多个节点,降低单点压力。
关键是,无限量的DDOS攻击防护!
注:我曾2个多小时被打了2.2T的流量,如果放在国内的云供应商,我估计服务器已经被断网,并且CDN流量也早就被耗光了~,无形中省了不少钱。
6. 用户友好的界面和管理工具
Cloudflare 提供直观易用的管理界面和丰富的 API,方便用户配置和管理其服务。用户可以轻松设置和调整安全策略、监控流量和性能数据。
注:不得不说,CF的管理界面是设计得真好,不仅仅是简单的把所有功能的配置糅合在一起,关键是直观的提供了所有功能的优先级顺序,这个我会在下一篇文章中专门来讲。
7. 强大的社区和支持
Cloudflare 拥有活跃的社区和全面的支持文档,帮助用户解决问题和优化配置。其客户支持团队也能够提供专业的帮助和指导。
8. 持续的技术创新
Cloudflare 不断推出新产品和新功能,保持技术领先。例如,除了边缘计算平台 Workers 外,Cloudflare 还推出了诸如 Cloudflare Access、Cloudflare Gateway 等零信任安全服务,以及 1.1.1.1 公共 DNS 服务(WARP和WARP+),主打隐私保护和速度
注:WARP+的配置可以参考文章家庭数据中心系列 合理利用cloudflare WARP来提高自己访问网站的速度(桌面版)和家庭数据中心系列 云主机上部署cloudflare warp来提高网络访问速度(Linux cli版)。可惜,WARP 6月初已经基本不能用了,不过这在国内也是迟早的事,并不意外,只是最亏的是我也是几个月前才知道warp,然后就一直作为备用线路,压根就没怎么用过!!!有一种错失了好几亿的感觉。。。:(
CF对个人站长的助益
其实我开始的时候不知天高地厚,还是老老实实用的国内的备案域名以及国内的CDN来搭建博客,只是后来慢慢认识到世道的险恶(参见文章:家庭数据中心系列 独立个人博客搭建及避坑指南),加上当时也在接触和逐渐了解CF,就一狠心,废弃了备案域名,全面转移到现在的"tangwudi.com"上。
使用了半年多之后,我真正感受到了CF对我的巨大助益:
1、DDOS攻击防护
帮我裆下了大小10余次DDOS攻击,总攻击流量起码5T以上,起码拦截下了99%的流量(拦截这些攻击很多都是需要CF地址库的支撑,比如已知bad source、已知bot network等等),给了我调整家庭数据中心架构来杜绝攻击影响的时间(参见文章:家庭数据中心系列 二次攻击!新形势下内部博客访问流程的优化)
2、WAF防护
每天都帮我拦下了盗链、各种非主流搜索引擎爬虫的爬取、还有其他多种攻击类型,其包含的全局速率限制也对DDOS的攻击的防护产生了巨大的作用。
3、Zero Trust
依靠Zero Trust的tunnel技术,可以直接穿透内网,让家里的应用分分钟直接发布到外网上(又不想备案又想建站又没有公网地址的朋友有福了),且就算是默认未优化的配置,国内访问虽然速度慢点,但是也能打开(参见文章:家庭数据中心系列 通过tunnel技术,让无公网IP的家庭宽带也能白嫖cloudflare实现快速建站(推荐))。
4、R2(对象存储)
现在我的图床就是R2,将所有图片资源都从chevereto迁移到到了R2上,这样的好处是不需要考虑图床的冗余性(参见文章:家庭数据中心系列 使用rclone和cloudflare R2打造chevereto的异地容灾图床),而图片不在本地,一个是安全(就算攻击图床也影响不了内网),另一个就是永远在线,就算遇到家里停电而自动切换到云主机上的冗余wordpress站点后,也不会影响博客正常的访问(以前还需要在云主机上也部署一套chevereto,还要做2套chevereto的数据同步,颇折腾)。
5、worker优化
因为Free计划默认对大陆IP的访问用户提供的是美国西部圣何塞数据中心的地址,所以大陆访问者访问默认速度都不快(甚至有负优化的戏称),而通过特定的worker脚本,可以让大陆访问者也达到以前优选IP(自动选择离访问者最近数据中心的IP地址)的效果,而对于访问量不大的个人站长而言,1天10万请求的免费额度基本都是用不完的,所以worker优化的方式可以大大提高站点的大陆用户访问速度。
6、CF pages
CF的静态页面托管功能,相对于github pages来说,国内平时可访问性更强一些,我的www.tangwudi.com
的导航页和hexo静态博客的页面都是通过github的仓库关联到CF pages上进行发布的,很好用(参见文章:家庭数据中心系列 使用github+cloudflare pages为www导航页搭建新家和家庭数据中心系列 使用hexo搭建静态博客并部署到到cloudflare pages)。
以上还只是我平时最常用的,而其他使用相对较少的功能,比如重定向、自定义主机名等功能对于需要的朋友而言,也是非常重要的,加上其他一些隐藏提供了,但是一般人不知道的功能,比如多站点自动冗余+负载均衡(多站点自动冗余参见文章:家庭数据中心系列 活用cloueflare tunnel实现wordpress主站点故障时灾备站点自动接管)等等。。。。总之,CF对个人站长而言,就像一个隐藏的宝藏,等待着大家去挖掘。
后话
目前腾讯云也推出了类似CF的整体解决方案:EdgeOne,收费是按主机数量收费:1个主机名是9.9元/月,其实倒也不算贵,不过我这几十个主机名的量就不敢去尝试了(或者等我有心情了去试试然后水一篇文章也行),大家有兴趣也可以去尝试下,反正目前感觉,网上写EdgeOne教程的文章还相对较少。。