Cloudflare 作为全球最大的免费CDN加速,跟国内的优点就是不需要备案即可使用,而我们的Cloudflare 默认只缓存图片之类的静态文件,很多网站使用Cloudflare加速效果不理想就是因为不会配置Cloudflare的Page Rules 页面规则,只要我们把Page Rules 配置好了,那么我们网站加速效果很牛,因为亿破姐网站是基于Wordpress开发搭建的网站,这几天一直在调试Cloudflare的自定义页面规则缓存Page Rules,发现确实把 Page Rules 规则配置好了,网站访问速度飞快,但是出现了Wordpress登录用户错乱的情况,亿破姐YPJ百度查阅了3天的资料也始终无法解决这个问题。
Cloudflare自定义规则的说明:
提示说明: 规则自定义指对“指定URL”进行页面级规则定制(支持通配符*)。可对任意子域名、目录、甚至单个URL进行针对性的加速缓存、安全防护等配置。列表中上下关系决定优先级,靠上规则优先级高。站长可以通过点击“↑”调整优先级。新增规则优先级最低,将于30s内生效。
URL指定支持通配符* 例如
1) 对img.ypojie.com进行特定设置,需增加URL: img.ypojie.com/* 对网站 img.ypojie.com 的所有内容缓存生效;
2) 对www.ypojie.com/news/ 进行特定设置,需增加URL: www.ypojie.com/news/* 对网站 www.ypojie.com 的news目录内容缓存生效;
3) 对www.ypojie.com所有html页面进行特定设置,需增加URL: www.ypojie.com/*.html 对网站 www.ypojie.com 的html 内容缓存生效;
4) 对www.ypojie.com所有html页面进行全部缓存,需增加URL: www.ypojie.com/* 对网站 www.ypojie.com 的所有内容缓存生效;
5)对www.ypojie.com所有评论页面禁止缓存直接回源,需增加URL: www.ypojie.com/*/comment-page-* 对网站评论内容缓存不生效;
以下是亿破姐网站参考张戈博客设置的Wordpress Page Rules 页面规则:
https://www.ypojie.com/*/comment-page-* Cache Level: Bypass 评论不缓存直接回源
https://www.ypojie.com/wp-admin/* Cache Level: Bypass 后台管理页面不缓存直接回源
https://www.ypojie.com/* Always Online: On, Cache Level: Cache Everything, Edge Cache TTL: 2 hours 全站所有内容缓存2小时
Cloudflare 免费套餐只能设置3条规则,我们就只能设置后台和评论分页不缓存,其他一律缓存。其中还有个最关键的地方,Edge Cache TTL这个选项必须要设置一下,否则依然不会缓存的哦!Edge Cache TTL 缓存时间你可以设置30天或1天,最短为2个小时,如果网站没有什么更新,或者不需要用户登录的直接可以设置30天,这样可以减少服务器压力,加速用户的访问体验。
WordPress页面规则配置:
wp-admin 部分为管理后台,不加入缓存;
wp-login 部分为后台登陆页面,不加入缓存;
*/comment-page-* 用户评论,不加入缓存;
其余部分全部缓存;
以上的规则发现,这样我们需要4条规则,而免费的Cloudflare只能开启 Page Rules 3条规则,那么我们可以把wp-login 修改合并成一条规则;
可以安装插件 Rename wp-login.php ,修改登录页面 wp-login 网址为 wp-adminxxx,其中 xxx 为我们自定义的一串字符,比如 wp-adminabc 。
这样就可以通过 wp-admin* 来同时匹配前两条,将规则变为 3 条。
通过配置针对于 WordPress 的页面规则,我们将全站进行缓存,设置网站永久在线等,并排除了管理后台、登录页面和文章文章评论页面的缓存,以便我们能够实时看到用户评论和正常登陆管理网站。
但是亿破姐网站遇到一个问题始终无法解决,Cloudflare开启Page Rules导致登录用户错乱,页面如果有登陆态就会被缓存,A用户信息,B用户可能也看得到。但是无法操作相关权限,反之,就是记不住用户信息。刷新页面首页或文章页面,首页及文章页面的用户登陆界面经常会出现未登陆状态,这个需要怎么解决了???
有没有大佬留言给亿破姐一点启发,目前亿破姐网站已经关闭了Cloudflare的自定义缓存规则 Page Rules ,实在是无法解决,如果 继续开启Page Rules规则,你们登录不上去,甚至刷新到B用户,或者刷新页面未登录诸多问题无法解决。