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