最近一朋友安装的dedecms无法生成HTML,在生成的过程当中提示没有权限:具体提示内容如下:
- Forbidden
- You don't have permission to access /dede/makehtml_list_action.php/xxxxxxxxxx on this server
经过了无数次的处理,包含权限、selinux、Apache配置、PHP版本的更换、程序的重装,都没有解决问题。后经过朋友的随意一句话,找到了症结,公司的Apache安装了mod_evasive防CC攻击模块,而模块配置参数里面的“DOSPageCount 2(允许单IP的最大并发连接(瞬间值)”导致生成HTML过程当中出问题。将DOSPageCount 的值调大,即可以解决! 下在讲一下directadmin下如何安装mod_evasive防CC攻击模块: mod_evasive 是Apache服务器的防CC攻击的一个模块,它可以检测和限制同个IP的请求次数,达到一定条件时执行命令(如使用iptables封禁IP),虽然并不能完全防御CC攻击,但在一定条件下能起到缓解Apache服务器的压力。
1)预安装:
- yum install httpd-devel
2)获得mod_evasive,解压,安装。
- cd /usr/src
- wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
- tar xzf mod_evasive_1.10.1.tar.gz
- cd mod_evasive
- /usr/sbin/apxs -cia mod_evasive20.c
3)添加配置文件 vi /etc/httpd/conf/httpd.conf,在LoadModule evasive20_module /usr/lib/apache/mod_evasive20.so下面添加引用httpd-evasive.conf文件。
- LoadModule evasive20_module /usr/lib/apache/mod_evasive20.so
- Include /etc/httpd/conf/extra/httpd-evasive.conf
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” 进黑名单执行命令
4)重启apache
- /etc/init.d/httpd restart
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)