Cloudflare是一家跨国科技企业,总部位于美国旧金山。Cloudflare拥有世界顶尖的网络性能和安全解决方案,提供CDN、DNS、SSL、DDoS防护等一系列保障Web安全和提高性能的服务。Cloudflare很多服务都是免费提供,而使用国内的云厂商提供的相应服务则需要额外付费。

Cloudflare logo
Cloudflare Logo

个人网站的话,Cloudflare的免费服务就已经非常丰富了,充分使用可以为站点增色不少。

开始使用 Cloudflare 服务

在使用Cloudflare之前需要在Cloudflare中添加自己的站点,这里需要在域名提供商处把DNS解析服务器修改成Cloudflare的DNS服务器。

注册Cloudflare账号,中文官网地址: https://www.cloudflare.com/zh-cn/

添加自己的站点,然后Cloudflare会分配2个DNS服务器,在域名提供商处修改DNS服务器。阿里腾讯云的话直接在域名控制台修改。

修改完成后转到Cloudflare后台(https://dash.cloudflare.com),选择需要管理的站点,进入DNS页面,如下图,Content一列填写原始服务器IP。确保2条A记录(一条直接解析主域名,一条解析www域名),都已经开启Proxy模式,也就是代理。

添加Cloudflare域名解析
添加Cloudflare域名解析

这两条解析生效后域名DNS将解析到Cloudflare分布全球的CDN节点上,隐藏了真实服务器的IP地址,起到了一定的保护作用。当然用一定的手段还是能找出原始IP的,但是总比没有一点保护要好🙄。

完成这步后,站点已经添加进了Cloudflare,接下来还有更多的服务等待探索。

Cloudflare 加速服务

Cloudflare CDN在全世界有194个节点,中国大陆境内也有很多,但是免费服务中是无法使用大陆节点的。因为大陆节点是和百度合作的,要么就使用百度云加速,要么购买Cloudflare商业版。百度什么尿性,想必不用多说;而Cloudflare商业版又很贵。所以只能使用境外节点,这一点很遗憾。不过境外节点的速度也很快,我的服务器在香港,使用Cloudflare境外节点也有不错的加速效果。

加速配置

在上面一步添加完站点后,Cloudflare默认开启CDN服务,可以在后台Speed页面下面查看详情。Speed页下有3个选项卡:

  • Overview:加速效果总览,把有加速和无加速的情况做了对比
  • Optimization:可供选择的优化措施
  • Browser Insights:浏览器洞察,用来查看浏览器加载页面的耗时
Cloudflare Speed控制台
Cloudflare Speed 控制台 Optimization 选项卡

这个选项卡下面有一部分服务是免费版无法使用的,可以使用并且建议开启的功能有下面3个:

Cloudflare CDN 配置01
Cloudflare CDN 配置(减少静态文件大小、启用内容压缩)
Cloudflare CDN 配置02
Cloudflare CDN 配置(启用脚本文件异步加载)

缓存配置

进入Cloudflare后台Caching页面,这里是一些CDN缓存站点文件的规则,从上往下依次是:

  • 刷新缓存:站点文件更新后需要手动刷新CDN缓存就用这个。
  • 缓存等级:决定了Cloudflare缓存多少站点上的文件,选择最后一项Standard即可(当获取资源的查询字符串更改时,会提供不同的资源,而不是同一个)。
  • 缓存过期时间:默认4小时,可以手动修改。修改频繁的站点就减小过期时间,修改不频繁的话可以考虑增加过期时间。缓存时间到了之后Cloudflare会重新拉取站点源文件进行缓存。
  • 始终在线:建议开启,如果源站宕机的话Cloudflare会返回一个人性化的错误页面告诉访问者;如果是纯静态的网站,Cloudflare会从CDN缓存直接返回页面。
Cloudflare Caching 配置
Cloudflare Caching 配置

Cloudflare 安全服务

Cloudflare免费提供的安全服务有Web应用防火墙(WAF)、DNS安全、DDoS防护、SSL/TLS。而这些在国内的腾讯阿里云都是付费才能使用的。

Web应用防火墙(WAF)、DDoS防护

进入Cloudflare后台Firewall页面,这里有5个选项卡:

  • Overview:防火墙事件查看,被Cloudflare拦截的请求都会显示在这里。
  • Managed Rules:由Cloudflare管理的防火墙规则,包括内置规则(免费版无法使用)和DDoS防护(已经自动启用)
  • Firewall Rules:手动配置防火墙规则,可以禁止指定IP、用户代理标识、URI、地区的请求,免费版只能设置5条规则。
  • Tools:配置工具,更方便的配置防火墙拦截规则。
  • Settings:防火墙设置。
Cloudflare Firewall 选项卡
Cloudflare Firewall 配置

Settings选项卡里面,有一个Browser Integrity Check功能,建议开启。它检测浏览器完整性,拦截Python脚本请求这类明显不是真人发出的请求。

DNS 安全

进入Cloudflare后台DNS页面,没错就是一开始那个设置解析代理的页面。这里有一个DNSSEC(Domain Name System Security Extensions,DNS安全扩展)功能,可以考虑开启。

Cloudflare DNSSEC
Cloudflare DNSSEC

DNSSEC,即DNS安全扩展,用来保证DNS解析到正确的IP地址而不会被劫持。我在阿里云注册的域名是支持设置DNSSEC的。首先在Cloudflare这里启用DNSSEC,会得到一系列的记录值,以及加密密钥,然后在阿里云域名控制台找到DNSSEC设置,把Cloudflare提供的这些数据添加进去就可以了。等待几分钟Cloudflare验证通过,DNSSEC就启用了。

SSL 证书与 TLS 传输加密

加入Cloudflare的站点,Cloudflare会在CDN节点上为自己的域名配置免费证书,采用最新型的TLS1.3标准。

进入Cloudflare后台SSL/TLS页面,如果站点两端的SSL证书配置(Cloudflare到前端用户、Cloudflare到源服务器,前者由Cloudflare自动添加,后者需要自己在域名注册商处添加服务器证书)没问题,那么会显示这样的页面:

Cloudflare SSL/TLS
Cloudflare SSL/TLS

Edge Certificates选项卡中,确保下面2个功能开启:

  • 总是使用HTTPS:即便通过HTTP协议访问也会强制跳转至HTTPS。
  • HSTS严格传输安全: 强制客户端(如浏览器)使用HTTPS协议与服务器创建连接。
Cloudflare SSL/TLS
Cloudflare HTTPS 配置

Cloudflare 站点统计

Cloudflare提供了详细的站点流量、安全状态分析报告,在后台Analytics页面中可查看。

Cloudflare Analytics
Cloudflare Analytics
  • Traffic:流量查看,这里显示了来自各个地区的请求数量。
  • Security:Cloudflare拦截的攻击、爬虫情况。
  • Performance:站点表现,包含HTTP协议版本分布、节省的带宽、请求出现的故障。
  • DNS:DNS查询的次数。

Cloudflare 额外 APP

这是Cloudflare很有意思的一个功能,Cloudflare可以在发送页面给客户端之前在页面上添加各种额外脚本来实现其它功能,比如自动添加Google Analytics脚本实现Google网站分析。当然还有非常多的APP可以添加进去,这里就不多说了,在后台进入Apps页面,里面还有更多好玩的功能。

写了这么多,基本上免费版的功能都写进去了🤨,更详细的操作Cloudflare上都有说明,照着步骤一步步来,英语不好的童鞋用一下Google或者Bing翻译,都可以搞出来。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据