请选择 进入手机版 | 继续访问电脑版

银河数字

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 764|回复: 0

网站被CloudFlare拖慢?来看解决方法

[复制链接]

365

主题

0

回帖

1305

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1305
发表于 2024-6-18 14:59:15 | 显示全部楼层 |阅读模式
最近明月经常看到有些站长们说网站用了CloudFlare后速度反而慢了,甚至不少站长们偏激的认为CloudFlare是拖慢网站的神器。明月的大部分客户几乎都用了CloudFlare,至今也没有一个给我反馈说CloudFlare拖慢了网站速度的。今天明月结合自己部署CloudFlare经验和客户们使用CloudFlare误区汇总给大家分享一下用了CloudFlare后网站慢的解决方法。






就目前明月总结的经验来看,网站试用了CloudFlare后载入速度慢主要原因有如下几个方面:

一、DNS 解析缓存造成的
这个DNS 解析缓存一般多出在国内网站上,尤其是通过变更域名NS 接入CloudFlare 的国内站点尤其明显。主要原因就是DNS 解析生效时间过长,默认情况下国内 DNS 上的域名变更 NS 到 CloudFlare 上后就会存在解析生效慢的问题,这是咱们国内各地 ISP 商缓存 DNS 解析记录造成的延迟,理论上需要24-72 个小时后才能全球、全国生效,这是有别于国内各个 DNS 之间变更 NS 体验的。






谁让咱们国内分为电信、联通、移动等网络运营商呢?为了节约带宽成本各个运营商都是长时间的缓存 DNS 解析记录来变相的提升域名解析速度,这一年可是能省不少带宽费用的哦!

一般明月在给客户部署站点接入CloudFlare的时候,如果用的是变更NS 接入方式,我都会让客户清理一下客户电脑的DNS 缓存(可参考【亲,你有多久没有清理过你电脑的 DNS 缓存了?】一文)和浏览器缓存,目的就是让客户能快速的完成本地解析生效,至于网站访客们只能是被动的等待 24-72 个小时了,所以很多时候明月都不推荐国内站点通过变更 NS 方式接入 CloudFlare,都是推荐 CNAME 方式的(可参考【Cloudflare 免费版不支持 Cname 解析解决办法】一文),这个方式几乎是实时生效的,不用等待解析生效。

当然有时候也会碰到清理了电脑本地 DNS 缓存依旧不生效的问题,这种一般都是内部局域网的会出现的,这时候建议重启一下路由器后再清理电脑本地 DNS 缓存就好了。

这个 DNS 缓存问题造成的网站载入慢几乎是很多站长们都会碰到的,问题其实根本就不是CloudFlare造成的,只是我们国内独特的网络运营商模式不同而造成的,CloudFlare 真心不被这个锅。

二、CloudFlare 缓存配置问题造成的
这个CloudFlare缓存配置也是很多新手站长们容易犯得一个低级错误,不少站长以为只要接入了CloudFlare后默认配置就可以加速网站了,殊不知CloudFlare给了使用者非常大的自由度,不像国内 CDN 默认规则都已经满足基本需求了,CloudFlare的默认设置主要是表现在安全防护上的,至于加速缓存的都是要使用者手动去配置的。

免费的CloudFlare可以有三条缓存配置规则,具体的配置是在 CloudFlare 后台【规则】——【页面规则】里手动设置的,可不是【缓存】里的,如下图:






CloudFlare 的【缓存】类似于国内七牛云、又拍云的云存储,免费版 CloudFlare 是用不了的,这点儿请大家一定要知道,别生搬硬套。

通过上图可以看到CloudFlare的缓存规则还是非常自由的,虽然免费版只支持三条页面缓存规则,但基本能满足我们大部分站点的需要,像WordPress 这类的网站系统,其实两条就够了。剩下一条可以用来特殊需要的时候用,并且每条页面规则都可以配置具体的动作行为,可以说是非常的灵活了,就看你如何组合使用了,有加速的,安全防护、防采集、防恶意扫描的等等。

接入CloudFlare后都要根据自己站点的实际需要首先配置页面缓存规则的,只有这样才能让CloudFlare给你的站点加速,CloudFlare 各个节点 IP才会有访问请求时回源服务器缓存以保证客户下次请求直接命中离得最近的节点缓存提高访问速度。否则就是每次有访问请求都回源到服务器上了,那就没有任何加速防护的效果了。

三、CloudFlare 节点 IP 回源受阻造成
这个回源受阻一般多见于服务器有防火墙的站点,比如:宝塔面板的防火墙开启后如果没有开启CDN 服务支持的话,就会出现CloudFlare部分节点IP回源遭到宝塔防火墙的拦截和屏蔽,这就会严重影响站点的载入速度,使用了宝塔面板防火墙的一定要注意这点,明月就碰到过好几次这样的情况。






解决办法其实也很简单,一般宝塔防火墙拦截规则里都有一个 CDN 服务,只需要开启即可,另外就是还有一个禁止境外 IP 的一定要关闭,因为免费 CloudFlare 节点 IP 都是境外的。

另外,为了保险期间一般明月还会建议把CloudFlare节点IP在宝塔安全里加白处理,这会大大的提高 CloudFlare 节点回源服务器的效率,如果能参考【宝塔面板下站点如何只限定 CDN 的 IP 节点回源请求】一文的话,安全防护效果也回到大大的提升。

至于服务器使用了其他的防火墙这里就不再赘述了,一般防火墙都有开放 CDN 节点回源的配置的,主要不要限制 CDN 节点回源即可。

四、CloudFlare 的 WAF 规则或者安全防护配置造成的
这个一般是因为不懂CloudFlare的WAF 规则生搬硬套复制粘贴过来就用的,因为WAF 规则不适合自己站点造成的访问各种403/404/502错误引起的,CloudFlare的强大之处就在于哪怕是免费版也提供了自由度非常高的 WAF 规则自定义支持,因为太开放了,所以配置WAF 规则就需要非常的熟悉CDN 原理和网站请求 Url 结构根据网站访问日志做出具体应对的 WAF 规则制定,所以明月一直都不建议WAF 规则的照抄,毕竟不是每个规则都适合所有站点的。并且WAF 规则也经常根据站点日志分析来做调整的,并不都是一成不变的。

所以说,CloudFlare 的 WAF 规则如果不懂 CDN 原理或者一知半解就不要乱设置,更不能随随便便的抄别人的,有时候真的会适得其反的,拖慢网站速度都是小事儿,带来安全隐患和影响前端客户体验才是麻烦呢!

最好是在设置CloudFlare的 WAF 规则时,提前多看看他人的经验再结合自己站点日志来配置。免费 CloudFlare 的 WAF 规则可以设置 5 条,具体配置位置在 CloudFlare 后台——【安全性】——【WAF】里,如下图所示:






好了,基本上述这四个地方照明月说的做,用了CloudFlare你的站点都不会慢的,除非你所在地区封禁了CloudFlare所有的节点 IP(稍微懂点儿技术原理都知道这是不可能的),尤其记住变更 NS 方式接入CloudFlare的国内站点是没法绕开24-72 小时解析生效这个槛儿的,所以耐心等待解析生效就是了,客户反映慢了可以尝试让客户清理一下本地电脑的 DNS 缓存解决即可。期间不要再去变更 NS 了,否则又是一次24-72 小时解析生效时间,明月的经验是国内大部分地区最多 24 小时就都生效了,但也有奇葩地区真的能长达 72 个小时。






如果你在使用CloudFlare上还有啥问题和经验的,欢迎留言区里交流分享互动,也可以加入明月的草根博客站长群里交流提问学习。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|银河数字

Web Analytics

GMT+8, 2025-4-22 18:36 , Processed in 0.055246 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表