一、B2C类型网站配置CDN加速思路
B2C网站相对来讲就会比较复杂,需要在线下单支付、用户登录等功能,都属于动态请求,如果这些功能或者页面被缓存会造成网站严重问题,所以需要使用动静隔离的缓存机制,将静态文件(css、js、图片等)缓存在CDN中,其他的php、api、json等请求不缓存。
二、基础配置
在教程开始前,需要准备Cloudflare账号,注册此账号需要境外邮箱,推荐使用谷歌邮箱;如果有套CF的小伙伴,可以直接跳过这一步。
1.注册Cloudflare账号
在开始之前,如果大家没有Cloudflare账号,需要先进行注册。

在注册页面填入邮箱和密码,点击Sign up;要确保邮箱正确,因为注册完会要求验证邮箱。

2.添加域(将网站与CF绑定)

注册并登录Cloudflare后,进入Cloudflare后台首页,点击右上角“添加域”按钮。
三、核心配置
在Cloudflare后台,找到我们刚添加的域名,点击进入域名的管理界面。
然后点击左侧导航栏:规则 – 页面规则,Free套餐有3条规则,我们将使用这三条页面规则来配置B2B网站的CDN缓存规则,点击右侧“创建页面规则”按钮。
1.【页面规则】绕过WordPress后台,不缓存后台设置和文件
先来观察一下WordPress后台页面的URL结构,如果结构组成是xxx.com/wp-admin/XXXX的形式,并未对后台登录地址进行任何修改。

⭐页面规则URL填:xxx.com/wp-admin*
缓存级别:绕过
设置完成后,CDN就不会缓存网站后台。在我们修改WP后台登录地址的时候,可以将登录地址修改成domain.com/wp-admin-XXX的格式,也能避免缓存登录页面。
2.【页面规则】绕过JSON请求,不缓存动态请求
WordPress有一些动态请求的格式是domain.com/wp-json/XXXXX的结构,这种动态请求是不能缓存的,否则会产生数据错误。


⭐页面规则URL填:xxx.com/wp-json*
缓存级别:绕过
设置完成后,CDN就不会缓存网站的动态数据,比如客户下单、加购、愿望清单等页面。
3.【页面规则】缓存网站所有页面

页面规则如下:
- URL填:domain.com/*
- 缓存级别:缓存所有内容。
- 边缘缓存TTL:一个月。
- 电子邮件混淆技术:开启。
- 浏览器完整性检查:开启。
- 浏览器缓存TTL:一个月。
- 顺序:最后一个
顺序在最后一个,前两条规则才能生效,保证除了后台和json以外的页面URL都缓存。

4.【缓存配置】静态文件缓存规则
在左侧导航栏 — 缓存 — Cache Rules — 创建规则,进入规则创建页面。

为规则命名:缓存静态文件(也可以自定义其他名字);选择自定义筛选表达式;表达式字段选择URL,运算符选择包含,值填写静态文件后缀。

设置项比较多,可以复制粘贴下方表达式,再点击窗口右上角的“使用表达式生成器”就可以应用表达式。
(http.request.uri.path.extension in {"avif" "jar" "jpg" "jpeg" "mp3" "mp4" "png" "svg" "svgz" "webp" "woff" "woff2" "css" "js"})

- 缓存资格:符合缓存条件
- 边缘TTL:如果存在,使用缓存控制标头
- 浏览器TTL:接受源服务器TTL
- 保存部署。
5.【缓存配置】不缓存后台+动态请求‼️

上面示例图,未显示全部规则;请使用下方的表达式代码进行生成

- 规则命名:后台饶过缓存
- 自定义筛选表达式
- 缓存资格:绕过缓存
- 放置位置:最后一个
- 保存部署。