CDN-Cloudflare 免费版的域名接入与 CDN 设置指南

Cloudflare 作为全球知名的 CDN 服务提供商,以其众多的节点,多种加速黑科技及独特的防攻击功能而被人熟知,最重要的,它还支持免费使用,可以说是深受大小站长的喜欢。

虽然因为国内的特殊环境,Cloudflare 的效果不像国内 CDN 厂商的产品那么好,但总有人还是慕名而来。不过 Cloudflare 目前设置类界面还没有中文,对于一些接触此类东西比较少的人来说,设置起来可能有点吃力,因此我写出此文,希望能给大家在设置时当作参考。

PS:以下全都是博主的个人经验,不对之处欢迎留言告知。另外本教程是针对免费版用户写的(我穷),氪金用户可能在域名接入和 CDN 功能方面有更多的选择。_(:з)∠)_

一:域名接入 Cloudflare

这一步其实能说的不是很多,因为我已经添加过域名了,也不好意思随便加别人的域名来测试,所以就只跟大家简单的说说吧。

注册账号之后先把自己想接入 CDN 的域名添加好,然后应该会有 Cloudflare 的提示,告诉你要把域名的 NS 记录改成 Cloudflare 的:

NS 记录的修改需要到你的域名注册商那边改,这个根据各商家面板的不同可能设置上稍有差异,请自行查找。域名注册商那边改好之后,应该在 Cloudflare 这边刷新一下就能看到已经帮你添加好的各种记录了,默认支持 CDN 的也已经帮你开启了 CDN 功能,如果没有,就自己按照原来的记录重新添加一份,然后最重要的把 A AAAA 记录这种开启 CDN 功能。

此处提一下,不知道大家知不知道 NS 记录的用途?当我们改成 Cloudflare 的 NS 之后,其实以后我们就不需要到域名注册商那边去添加各种 A AAAA 记录了,全部都在 Cloudflare 这边完成,因为已经被接管了。

另外请注意,域名接入的说明是针对免费版 Cloudflare 来说的,用的合作伙伴那种接入方法的我这里就不说了,一般人家面板上会告诉你怎么操作(其实也就是绑定下域名到域名注册商那边改一下 A AAAA 记录之类的)。

二:后台概览页面介绍

在正式给大家说明各类设置项之前,我们先来看看 Cloudflare 的概览界面:

上面那一排排的按钮就是各种设置项了,第一项就是概览。

概览页面可以看到一些常规的 CDN 缓存数据大小还有命中率什么的,页面左边是一些功能的快捷开关,方便我们平时有需要时随时开随时关,翻译已给大家奉上。

概览按钮后面接的是 Analytics 功能,主要是用来展示一些详细的统计数据之类的,因为基本不含设置项,而且与本文标题不太相关,所以就不多介绍直接跳过了。

三:DNS 设置

防止有些人还找不到我说的是什么设置项,我就直接上图说了:

标的框框这里是让你快速添加各种主机记录用的,后面的图标亮着代表开启 CDN 功能,不想开就手动点一下关闭就是了。

关于 DNS 的设置部分,因为主要就是各种记录的添加,所以没什么好说的,只需要注意给你要开启 CDN 的域名添加正确的记录就是了,记录的设置和在原来域名注册商那边的设置没什么差别,此处就不多说了,不然又要长篇大论一番各种记录的用处类型什么的了。_(:з)∠)_

不过这里有一个可以单独设置的东西,就是 DNSSEC:

此设置看个人意愿是否开启,不影响 CDN 效果,该设置需要到域名注册商那边添加 DNSSEC 记录才行。至于什么是 DNSSEC,因和本文标题关系不大,因此也略过,主要是作用于防止伪造 DNS 记录。

四:Crypto 加密设置

选项设置项如图所示:

此处设置比较重要,我会将免费版可以设置的东西一个一个来说明。

SSL 设置项

  • off:关闭 HTTPS 访问,所有访客重定向到 HTTP
  • Flexible SSL:访客访问你网站用 HTTPS,但是 CDN 到你源服务器拉取东西时用的 HTTP 协议
  • Full SSL:访客可以用 HTTPS 访问,CDN 到你服务器的访问也使用 HTTPS,此选项适合源服务器用的是自签名 SSL 证书或无效证书的情况
  • Full (strict):访客可以用 HTTPS 访问,CDN 到你服务器的访问也使用 HTTPS,适合你的源服务器有可用 SSL 证书的情况

Origin Certificates 设置项

给你的源站生成一个长期有效的 SSL 证书,主要是给那些自己没有 SSL 证书又想用有效证书开启上面 SSL 设置项的人用的,如果你自己源站已经配置好了有效的 SSL 证书,可用可不用。

PS:生成的证书有效时间是真的长,15 年……

Always Use HTTPS 设置项

开启之后,所有用户的 HTTP 访问请求都会被 Cloudflare 301 重定向到 HTTPS,如果你有此需求,哪怕在源服务器上已经配置过了,也建议在这里开启,因为不需要再到你的源服务器上去判断,CDN 自己就判断好了。

HTTP Strict Transport Security (HSTS) 设置项

主要是开启 HSTS 设置的,HSTS 就是让浏览器在访问你网站时产生一个记录,不管是 HTTP 还是 HTTPS,都通过 HTTPS 来访问。此纪录有一个时间限制,指的是在规定时间内不进行再次确认,全部走 HTTPS。

  • Apply HSTS policy to subdomains (includeSubDomains):让 HSTS 对子域名也生效
  • Preload:网上有一个申请网站(搜索 HSTS Preload),在这个网站里申请加入的域名通过之后会进入各大浏览器的 Preload 列表里,列表里的域名不需要别的确认,浏览器自己就会选择走 HTTPS
  • No-Sniff Header:安全用途,开不开看个人,作用还请自行搜索

该设置项需要注意的地方不多,只不过如果你要加入 Preload 列表的话,请注意这个列表一旦更新了加入了你的站点,以后就必须要要配置好 HTTPS 了,不然你的网站可能没法访问(除非你申请退出并且各大浏览器再次更新了列表)。加入的要求是要开启上面的子域名也生效 HSTS 且记录设置的时间超过 1 年。

Authenticated Origin Pulls 设置项

用处是验证对源服务器的请求是不是来自于 Cloudflare,防止有人绕过 Cloudflare 访问你的源服务器,一般攻击者或者别有用心的人喜欢这么干。不过这个需要额外配置,我这里要说可能要写好多了,感兴趣的看官方的文档教程吧!

Minimum TLS Version 设置项

设置启用 CDN 之后别人 HTTPS 访问你网站支持使用的最低 TLS 协议版本,一般默认即可,设置的越高,则旧系统或者旧浏览器可能就没法正常访问你的网站了。当然,设置低了也有安全隐患,具体还请自己抉择。

Opportunistic Encryption 设置项

字面意思是在其它协议中(比如 HTTP/2)也开启 TLS 支持,具体用途我还没有研究懂,对普通站长来说的话其实开不开影响都不大。

Onion Routing 设置项

照顾用户的隐私用的,开启洋葱路由的功能支持,开不开看个人。

TLS 1.3 设置项

开启 TLS 1.3 新协议支持,建议开启。其中有个 Enable+0RTT 的设置,是指的同时也开启 0-RTT 功能。0-RTT 可以让浏览器能够更快的和服务器进行回话,但会牺牲小部分安全性。

Automatic HTTPS Rewrites 设置项

如果你的站点是 HTTPS 的,然后使用了 HTTP 的资源,浏览器会产生站点含有混合内容的提示,开启之后,Cloudflare 会尝试把那些支持 HTTPS 访问的资源重写替换成 HTTPS 协议访问。

Disable Universal SSL 设置项

这个选项点击了之后,你的网站如果没有有效的证书,就没办法通过 HTTPS 访问了,非必要不建议动这个。

五:Firewall 设置

这里就不再截图了,前面截了两张图大家应该也知道设置选项在哪里了,直接开始说具体的一些设置项吧!

Firewall Rules 设置项

主要就是针对一些特定条件的请求进行允许访问或者拒绝之类的限制,要一项一项来说太麻烦了,普通用户对这个也不怎么需要折腾,真的有需要还是去看说明文档吧,我这估计还说不太清楚……

Security Level 设置项

设置你网站的安全防护等级,主要就是让 Cloudflare 自动帮你 Ban 掉一些恶意请求,其中大名鼎鼎的 I’m Under Attack! 就是让你在攻击时开启的,默认的话选 Medium 中级就可以了。

Challenge Passage 设置项

给通过了安全防护的 bad IP 允许访问的时间,过期了会再次让验证。

Privacy Pass Support 设置项

作用就是兼容一下某个浏览器隐私扩展,降低这种用户撞上防火墙然后让验证的几率。

IP Firewall 设置项

设置那些一些针对 IP 的防火墙规则,为了防止意外发生,最好把你源服务器的 IP 加入白名单。

  • User Agent Blocking:基于 User Agent 浏览器标识来创建防火墙规则

六:Speed 设置

此部分主要是帮你优化站点打开速度的,建议一个一个配置好,能对你站点的打开速度有很大的改善。

Auto Minify 设置项

设置是否自动优化 JavaScript,CSS 和 HTML 网页,个人建议全部选上。

Enable Accelerated Mobile Links 设置项

让你网站的外部链接可以通过 AMP 的方式打开。AMP 是谷歌的移动页面技术,具体的请自行搜索。打开之后,默认会对所有域名生效,通过 Select Subdomain(s) 可以设置只针对选择的域名生效。

Brotli 设置项

Brotli 是谷歌推出的压缩技术,这个本博客在其它地方也有过介绍,它在某些时候能比大多数浏览器默认的 gz 压缩效果要好,且现代浏览器也大多支持它,建议开启。

Rocket Loader 设置项

让你的 Javascripts 异步执行,达到加快网页呈现速度的效果,属于黑科技系列,建议开启。

Mobile Redirect 设置项

把移动设备访问你网站的用户重定向到某个域名。

七:Caching 设置

这里主要是针对 CDN 缓存的一些设置,还是比较重要的,建议谨慎对待。

Purge Cache 设置项

平时用不上,其实就是让你能够手动清除某个链接的缓存或者干脆全部清除。

Caching Level 设置项

设置 Cloudflare 的缓存等级,免费用户一共有三个选项可以选:

  • No Query String:请求没有查询字符串时才会命中缓存
  • Ignore Query String:忽略查询字符串,对所有人提供相同的缓存
  • Standard:每次查询字符串更改时,都会提供不同的缓存

如果这里大家不懂得话,保持默认的 Standard 就行了。

Browser Cache Expiration 设置项

设置一个浏览器缓存的过期时间。这里简单解释一下,浏览器会在你第一次访问某个网站的时候,根据网站文件上设置的过期时间来在一定时间内把这个资源缓存存储到本地,下次在请求相同文件的时候,就不用等待服务器把文件发过来了,只要设置的时间没有到,浏览器就会直接使用本地的缓存文件。这个设置项就是对我们 CDN 的缓存资源设置一个过期时间,好让浏览器知道什么时候再来找服务器要资源。

Always Online 设置项

黑科技之一,简单的说就是会把你网站最受欢迎的一些页面缓存起来,如果你的服务器挂了,Cloudflare 也能把这些缓存的页面提供给访客,提高用户体验。

Development Mode

开发者模式,最开始的截图里说了,就是暂时让请求直接通过,全部到达源服务器。

八:Page Rules 设置

这一部分没什么好说的,就是针对你设置的某个链接,使用特定的规则。比如你可以设置某个链接的资源不缓存之类的。当然要注意,免费用户只能添加 3 条规则,更多的需要氪金。

九:Network 设置

这一部分的设置我们需要动的不多,很多都是默认帮我们设置好了且不能更改的,我就简单说几个能改的吧。

QUIC

原本是来自于谷歌的黑科技,用处的话可能就是更快的站点访问速度吧。目前该技术已经纳入了下一代 HTTP/3 协议中,如果想尝鲜的话可以开了,注意现在是需要点按钮申请的。

WebSockets

打开允许 WebSockets 连接你的源服务器,这个看你个人的选择,不懂的保持默认就行了。

Pseudo IPv4 设置项

这个选项的作用是在当你的某个访客用 IPv6 地址访问你的网站,而你的服务器只支持 IPv4 访问时才有用的,它会在头部信息中返回一个 IPv4 地址。

头部信息的添加方法有两种:Add header(添加额外响应头)或 Overwrite headers(覆盖现有的 Cf-Connecting-IP 和 X-Forwarded-For 响应头)。

此选项官方推荐非必要的情况下选择关闭。

IP Geolocation

开启之后,CDN 会把访客的国家信息通过请求头的方式发给源服务器知道。

Maximum Upload Size 设置项

字面意思,设置访客在一次请求能最大能上传到你服务器的数据量。

十:Scrape Shield 设置

后面几项都是氪金才有的功能,APP 什么的好像也没什么好说的,一般也用不上,所以我就直接说最好一个设置了。

Email Address Obfuscation

邮件地址混淆功能,开启了之后,会对你网页中书写的邮件地址进行混淆,正常用户看到的邮件地址是没有问题的,但是对于那种专门采集邮件地址的机器人程序一类的,能达到一定的防止采集效果。

Server-side Excludes

用特殊格式写的东西,会让被 Cloudflare 判定到的垃圾用户无法看到。这个需要你自己在网站上折腾了才有用,因为要用特定格式书写的内容才会生效这个,所以开不开看个人。

Hotlink Protection

防盗链的设置,支持 gif,ico,jpg,jpeg 和 png 这些格式的保护。开启之后,HTTP referer 请求头不包含你网站域名的请求会被拒绝掉,搜索引擎的请求一般不会有问题,不会被拒绝。

结束

总算是把这个给写完了,花的时间比我想象中的还要长,可能是因为我手太冷了的原因吧。_(:з)∠)_

以上说明仅针对的 Cloudflare 免费版,当然你要是付费用户或者合作伙伴那种用户,设置项应该会多一些,本文也同样适用,只是免费版没有的功能没法跟你们说明就是了。=_=

文章篇幅有点长,其中有些东西可能会涉及到一些专业知识,有些我自己也不是很懂所以也不方便和大家细说,只能把意思给大家说出来让大家能自行选择,希望大家能理解。不过 Cloudflare 已经很好设置了,说明也写的比较直白,一般也不需要我们去弄太懂,照着说明设置就是了。_(:з)∠)_