[CDN]Cloudflare 免费版和 Pro 版的域名接入与 CDN 设置指南(更新于:20191027)

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

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

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

PS1:由于 Cloudflare 页面的一些改版调整,所以有部分图可能在选项名称之类的和现在的不一样了,但是设置项部分博主已经重新比对调整好了,新版页面也适用哦!

一:域名接入 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 记录。

四:SSL/TLS 设置

选项设置项如图所示:

1.Overview

第一页 Overview 是总的一个设置开关,此处设置比较重要,具体来说:

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

2.Edge Certificates

这一项主要是针对证书和 HTTPS 进行设置的,具体的设置项看下面的说明吧!

Edge Certificates 设置项

这个主要是对证书进行管理的,不需要我们怎么动。免费用户要用 HTTPS 的话只能用 Cloudflare 的证书,所以如果给你生成好了证书就不用怎么管了。

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 年。

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 协议访问。

Certificate Transparency Monitoring 设置项

这个功能主要是为了安全的,如果有你网站的恶意证书被签发的话,会给你发出通知,建议开启。

Disable Universal SSL 设置项

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

3.Origin Server

Origin Certificates 设置项

给你的源站生成一个长期有效的 SSL 证书,主要是给那些自己没有 SSL 证书又想用有效证书开启上面 SSL 设置项的人用的,如果你自己源站已经配置好了有效的 SSL 证书,可用可不用。另外注意一下,这个证书不是通用的证书,你直接拿来用是不被浏览器信任的,只用用来和 Cloudflare 搭配,用于 Cloudflare 和源服务器的连接。

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

Authenticated Origin Pulls 设置项

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

五:Firewall 设置

防火墙有关的功能大部分都是需要 Pro 以上套餐的用户才可以享受的,我后面介绍的时候没有特别针对 Free 套餐用户的设置来说,因为博主现在已经有 Pro 套餐用了,而原来针对该处的说明经过 Cloudflare 的改版也不太适用,要单独写不好区分,这点需要大家在看介绍时注意和自己的套餐区分一下。另外这里就不再截图了,前面截了两张图大家应该也知道设置选项在哪里了,直接开始说具体的一些设置项吧!

PS:第一个 Overview 是看一些拦截日志之类的地方,没有特别针对 CDN 的设置项,所以就不说了。

1.Managed Rules

Web Application Firewall 设置项

开启 WAF Web 防火墙的,当然是选择开启了~

Package: OWASP ModSecurity Core Rule Set 设置项

这个是 Cloudflare 针对常见的网络攻击创建出来的一套核心规则集,如果你可以开启的话建议开启,能在 CDN 层面帮你拦截对网站的威胁,让你的源站更加安全。这个选项总设置有两个,一个 Sensitivity 一个 Action,Sensitivity 是用来设置安全等级的,越高越严格,Action 是用来设置触发规则时的行为的,具体解释如下:

  • Simulate:只记录不处理,需要你自己到 Overview 统计面板去查看日志处理
  • Block:直接阻止请求
  • Challenge:先显示一个验证页面,只有完成了验证才给访问

这个选项除了上面的两个总开关外,还有一些选项是让你来选择具体应用哪些规则集的,大部分的规则集都能打开,算是比较通用的。只有最后几个是针对特定的程序进行设置的,如果你没有安装这些程序,这些规则集可以不开。

Cloudflare Managed Ruleset 设置项

这个选项也是用来选择应用哪些规则集的,只是和上面的不同,这里的规则集更加具体,算是对上面核心规则集的拓展补充,官方说“这些规则集会定期更新改进,推荐大家至少启用 Cloudflare Specials 这个规则集”。

就博主自己来说的话,因为它还有针对 WordPress 设置的规则集,所以这个规则集我也开启了。

2.Firewall Rules

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

3.Tools

这里主要是用来给你的防火墙设置一些自定义规则的,没兴趣的话不看也没什么问题。

IP Access Rules 设置项

可以针对特定的 IP、IP 段、国家或者 ASN 来设置黑白名单,这个应该没什么好说的,我就对几个选项说说吧。

  • Block:直接封禁
  • Challenge:显示验证页面,通过才给访问
  • JavaScript Challenge:显示等待 5 秒的页面,在此期间浏览器必须给出一个正确的答案给 Cloudflare(自动的,用户不需要什么操作,只要等倒计时结束就行了),不然就不给访问
  • Whitelist:白名单,直接通过访问

User Agent Blocking 设置项

基于 User Agent 浏览器标识来创建防火墙规则,和前面的 IP 规则差不多,各种选项的差别参考上面的就可以了。

4.备注

注意,下面的这些是原来的 Firewall 里有的设置,因为现在 Cloudflare 页面改版了,也不知道这些选项是不是因为我用了 Pro 版所以和上面的某些功能合并了,总之还是先保存下来让大家看看吧,说不定还能用上。

Security Level 设置项

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

Challenge Passage 设置项

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

Privacy Pass Support 设置项

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

六:Speed 设置

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

PS:第一页 Overview 是用来展示你的网站用了 Cloudflare 之后快了多少之类的,貌似也不会实时更新,我觉得没什么特别大的作用,所以就不提了,直接开始后面的优化设置部分吧!

1.Optimization

这里主要就是对网站速度的优化设置了,总的来说就是能开的都开~

Polish 设置项

这个选项是 Pro 以上用户才可以开启的功能,Free 用户就简单看看吧。

这个 Polish 的作用就是当有人访问你网站的图片资源时,Cloudflare 会帮你自动优化网站里的图片并缓存到 CDN 上返回给用户,达到减小图片体积还不失真的效果。

开启之后可以设置为 Lossless(无损优化)和 Lossy(有损优化)两种模式,另外还有个 WebP 的选项,同时勾选这个的话,CDN 不仅会优化图片减小大小,还会转换一个 WebP 格式的图片保存, 当支持 WebP 图片的浏览器请求图片时,会优先将 WebP 格式的图片交给浏览器。

PS:Polish 不会直接将优化后的图片返回,而是会对比优化前后图片的文件大小,只有优化后减小了体积的图片才会返回给用户。

Auto Minify 设置项

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

Enable Accelerated Mobile Links 设置项(这个功能好像现在没有啦)

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

Brotli 设置项

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

Enhanced HTTP/2 Prioritization 设置项

Pro 以上用户才可以开启的功能,简单的说就是让 HTTP/2 里请求的资源按照最佳的顺序交付,而不是按照浏览器的顺序要求来给,这样能让不同浏览器都有一个统一的速度体验,而且还有一定的加速效果(没看 blog 的介绍不懂瞎说系列,但是建议开启)。

TCP Turbo 设置项

官方也没专门介绍的样子,总之就是针对 TCP 连接进行优化吧,这个是 Pro 以上用户才支持的功能,而且默认是开启了的没法关闭。

Mirage 设置项

这个功能有点像是我们自己折腾的 Lazyload 图片懒加载,只不过 Cloudflare 把它弄在了 CDN 上,主要的作用就是能让你网站的图片在页面渲染未完成之前先显示低分辨率的图片,当页面渲染完毕之后再显示高清原图,然后就是会合并图片请求。总的来说就是优化页面加载速度的。然后和前面的一样,这个功能虽然好但是只给付费用户使用,所以你至少要来个每月 20 美元的 Pro 套餐才行。

Rocket Loader 设置项

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

AMP Real URL 设置项

让 AMP 网页显示实际 URL 而不是 AMP 页的链接,如果不清楚这个的话大概是你用不上的功能,关闭就可以了。

Mobile Redirect 设置项

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

2.Browser Insights

这个功能没有什么实际的优化效果,主要是用来记录分析各地区实际用户访问你的网站时的速度表现之类的,因为我没有开启这个功能所以不是特别清楚有没有更具体的设置,这里就只给大家说一下就不详细说明咯。

七:Caching 设置

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

Purge Cache 设置项

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

Caching Level 设置项

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

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

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

Browser Cache Expiration 设置项

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

Always Online 设置项

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

Development Mode

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

八:Workers

这个功能原本是收费用的,不过后来 Cloudflare 改了,免费用户也可以使用,但是每天只有前 10 万个请求免费,再后面的可就要收费了。

Worker 能干的事情很多,比如自定义跳转页面啊,自定义缓存规则啊,像官方还出了一个例子是来说怎么缓存动态页面的,甚至还出了个 WordPress 插件(非高端企业级套餐的用户,Cloudflare 是没办法完美缓存动态页面的,而用 Worker 可以较完美的解决)。不过关于 Worker 这部分,因为博主接触的不多,所以没办法给大家详细介绍了,而且真要说的话我估计得另写一篇博文才行……所以抱歉了大家。

九:Page Rules 设置

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

十:Network 设置

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

HTTP/2 设置项

给你的网站开启 HTTP/2,这个没什么好说的,为了速度建议开启。

HTTP/3 (with QUIC)

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

0-RTT Connection Resumption 设置项

这个和前面在说 TLS 1.3 时说的那个 0-RTT 差不多,就是加快服务器和用户之间的协商过程的,可能会有一定的安全性损失,不过 Cloudflare 说一般没什么大问题,开不开启看个人吧。

IPv6 Compatibility 设置项

开启 IPv6 支持,这个默认就是开着的而且也关不了,为了未来考虑,开着也不会有什么大问题了。

WebSockets 设置项

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

Pseudo IPv4 设置项

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

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

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

IP Geolocation

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

Maximum Upload Size 设置项

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

十一:Custom Pages

这个主要是让你能够自定义 Cloudflare 某些页面的,需要你自己去设置,而且也没有什么统一的设置说明,因为是 DIY 页面用的所以这里就不说了。

十二:Scrape Shield 设置

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

Email Address Obfuscation 设置项

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

Server-side Excludes 设置项

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

Hotlink Protection 设置项

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

结束

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

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

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

文章标题:[CDN]Cloudflare 免费版和 Pro 版的域名接入与 CDN 设置指南(更新于:20191027)
本文作者:希卡米
链接:https://hikami.moe/master/pem-webmaster/2763.html

如非文内特别说明,博客内作品均默认采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
知识共享许可协议

评论

  1. 赛门
    4 年前
    2020-3-02 12:28:28

    如果v途锐使用的话反而开启各种功能越少越好,我甚至开启Development Mode,直达自己主机,只需要用dns和套ip隐藏的功能。本来v2ray数据就是通过主机中转的,而且是加密的。

    • 萌茶
      赛门
      4 年前
      2020-3-02 14:48:56

      这个并不是针对代理用途进行的设置说明,我是按照建站这方面来写的,代理用途如何设置我并没有仔细研究过。

  2. Boriver
    4 年前
    2019-12-15 1:31:12

    (๑•̀ㅁ•́ฅ)受益匪浅,感谢博主!

  3. laoda
    4 年前
    2019-12-10 0:42:15

    谢谢分享,新年快到了 祝您新年快乐!

    • 萌茶
      laoda
      4 年前
      2019-12-10 17:17:47

      |´・ω・)ノ谢谢!

      • laoda
        萌茶
        4 年前
        2019-12-10 17:20:17

        萌萌加油!好好创作

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇