最近遇到一个问题,织梦dedecms在生成html的过程中报错:
Forbidden
You don’t have permission to access /dede/makehtml_list_action.php on this server
刚开始以为只是404错误,缺了个php文件,后来一检查文件是存在的,仔细一看原来是个403错误,这时就比较费解了。
后来百度了一下,发现织梦论坛上也有人出现这种问题,但是无解决方案。无奈只好谷歌了一下,查到一篇解决方案,说是因为directadmin安装了mod_evasive防CC攻击模块。我才想起来服务器上确实按了这个,但问题是,这篇解决方案没有提供具体解决方法,只是草草的介绍了原因,这让我很无奈,只好自己再探索一下。
mod_evasive的配置文件位置:
/etc/httpd/conf/extra/httpd-evasive.conf
配置内容:
DOSHashTableSize 3097(哈希表大小,无需修改)
DOSPageCount 2(允许单IP的最大并发连接(瞬间值)
DOSSiteCount 50(允许单台机在指定秒数内访问同一页的次数)
DOSPageInterval 1 单页请求检测时间(默认1秒)
DOSSiteInterval 1 全站请求检测时间(默认1秒)
DOSBlockingPeriod 3600 黑名单封禁时间(默认3600秒)
DOSEmailNotify someone@somewhere.com有新黑名单记录通知管理员
DOSSystemCommand “iptables -A INPUT -s %s -j DROP” 进黑名单执行命令
解决方案上说,把DOSPageCount值调大即可,但是我调成了50依然效果甚微。所以改变思路,寻找如何取消mod_evasive模块的使用。
取消编辑httpd配置文件即可:
/etc/httpd/conf/httpd.conf
把其中
Include /etc/httpd/conf/extra/httpd-evasive.conf
注释掉或者删掉。然后重启apache
/etc/init.d/httpd restart