之前说了安装verynginx来进行cc防御和防火墙,虽然功能强大,还有控制面板,但是个人就只是防御下cc,还是找个简单的好了。
HttpGuard有免费版本和商业版,商业版也是有控制面板的,现在好像是500一年吧,原价2000。如果不懂程序或者要更多功能的,可以去买授权。
免费版本还是在,只是防御CC攻击,还是可以的。
如果要商业版可以去官方网站:HttpGuard
HttpGuard也是基于lua的,所以还是要安装lua,如果没有安装的可以安装这里的来:linux nginx服务器安装verynginx防止CC攻击
一、下载HttpGuard免费版本
创建文件夹
mkdir HttpGuard
cd HttpGuard
下载解压
wget https://www.zhujitop.com/test/x/master.zip
unzip master.zip
转移文件夹
cp -r HttpGuard-master/ /usr/local/nginx/HttpGuard
是为了把HttpGuard放到nginx文件夹里面去
配置文件
在nginx.conf文件http区域内增加
lua_package_path "/usr/local/nginx/HttpGuard/?.lua"; lua_shared_dict guard_dict 100m; lua_shared_dict dict_captcha 70m; init_by_lua_file '/usr/local/nginx/HttpGuard/init.lua'; access_by_lua_file '/usr/local/nginx/HttpGuard/runtime.lua'; lua_max_running_timers 1;

(图1)
修改HttpGuard配置文件
打开 /usr/local/nginx/HttpGuard/config.lua
把basedir后面的路径修改了
这里也可以顺便修改下验证配置:
limitReqModules这句,图2中,代表10秒内超过10次刷新,访问,就出现验证码。

(图2)
安装验证码(好像可以不安装)
cd /usr/local/nginx/HttpGuard/captcha/
/usr/local/php/bin/php getImg.php
这个是用linux命令操作的,然后重启下nginx
测试,动态页面才有效,不是动态的,测试的时候,静态页面无所谓CC攻击。

HttpGuard的配置文件config.lua,还有很多参数,可以自己看着改。
nginx自带的模版或者基于其他模块,来进行CC防御,特别是对浏览器验证、ip判断,有很大误伤的可能性,但是简单防御还是可以的。
一个网站的正常用户浏览,不可能10秒就在同一个页面访问10次吧,除非有什么特殊活动。
HttpGuard不能和verynginx同时并存,测试了下,nginx就无法启动,期待他们都更好。