1、使用 fikker 反向代理服务器对 Discuz X2.5 论坛缓存加速关于 Discuz 会员缓存的说明:如果利用 fikker 反向代理服务器软件缓存论坛页面时不区分 Discuz 登录用户(会员)和非登录用户(游客) ,在论坛页面需要显示用户名,头像等用户个性化的信息的地方将会串号,登录用户发的帖子也可能不能马上看到。为解决这个问题,我们可以通过一个 Cookie 来标识是否登录成功,登录用户(会员)则实时请求源站获取页面,非登录用户(游客)则可以发给缓存的页面,确保非登录用户看到的是缓存内容,不需要去查询数据库,因大部分用户是不登录论坛而直接查看帖子的,所以还是可以大大减少数据库的负
2、荷的,但需要注意的是登录用户发的帖子,非登录用户不能马上看到,需要过了缓存周期后才能看到。如果你的网站还没有安装 Fikker,那么可以通过下面的链接来下载和安装:下载链接:http:/ 安装说明:http:/ 一、分析 Discuz 论坛的登录 URL 链接和 SetCookie 变量名称说明:基于 Discuz X 2.5 版本分析。通过 HTTP Analyzer 抓包分析发现 DISCUZ 论坛的登录请求链接有:顶部登录提交:http:/127.0.0.1/bbs/member.php?mod=logging(注意:不同的站点可能登录链接和 Set Cookie 名的前部 2t6U_2
3、132_ 会有所变化,需要自己去抓包分析下)以下是抓到的登录请求包以及登录成功后的响应包截图:二、添加会话缓存规则抓到包后在 fikker 的后台管理中添加二个会话缓存规则:1、直接用论坛注册帐号登录:验证地址 URL 的正则表达式是:127.0.0.1/bbs/member.php?mod=logging&action=login&loginsubmit=yes.*inajax=1$会话 ID 变量名: 2t6U_2132_auth2、通过 QQ 登录的会话缓存规则:登录验证地址 URL 的正则表达式是:127.0.0.1/bbs/api/uc.php?time=0-9&code=.+$会话 ID 变量名: 2t6U_2132_auth3、添加页面缓存规则正则表达式:127.0.0.1/bbs/forum.php.*$缓存周期决定了论坛新发的帖子,非登录用户多久才能看到;四、成功!