以前老有憨批C本站。谁让博主穷得只能靠白女票资源来维持网站运行这样子。压根没财力去上高防机器。 财力不行折腾来凑,硬件防火墙肯定是不可能的,只能用软件防火墙这样子维持生活。 今天也给大家介绍一个最简单也最有效的方法:Verynginx
VeryNginx 是一个功能强大而对人类友好的 Nginx 扩展程序。基于 lua_nginx_module(openrestry) 开发,实现了高级的防火墙、访问统计和其他的一些功能。 集成在 Nginx 中运行,扩展了 Nginx 本身的功能,并提供了友好的 Web 交互界面。 如果运行环境不是Nginx到这就可以关闭了。
安装之前肯定需要有Nginx环境的,如果没有也可以自行安装。
VeryNginx使用了lua-nginx-module模块,需要包含该模块才能正常使用。
如果你不知道是否安装了此模块可以使用Nginx -V
查看。
没有此模块的话这里就不讲如何安装了,可以自行百度一下。
拉取Verynginx的项目文件和安装
git clone https://github.com/alexazhou/VeryNginx.git
cd VeryNginx
python install.py install verynginx
cd /opt
chown -R www:www verynginx/
如果出现-bash: git: command not found
yum -y install git #Centos
apt -y install git #Dabian/Ubuntu
编辑Nginx主配置文件
vi /www/server/nginx/conf/nginx.conf #删库塔路径
vi /etc/nginx/nginx.conf #软件包默认路径
以下配置放在http配置块外部就是http{}
的外面
include /opt/verynginx/verynginx/nginx_conf/in_external.conf;
以下配置放在http配置块内部就是http{}
的里面
include /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;
以下配置放在网站配置内部。如果有多个网站都需要将下面配置放在该网站的配置文件内。 注意是server{}内部。
include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;
测试Nginx是否正常
nginx -t
没问题的话重启nginx
service nginx restart #Centos6
systemctl restart nginx #Centos7/Dabian/Ubuntu
接下来访问你的域名+vn/index_zh.index 默认管理员账号密码:verynginx 如果打不开可以看一下是不是开了伪静态或者其他的玩意,暂时关掉就可以正常访问了。
配置-自定义动作-浏览器校验-添加规则 开启打勾,JavaScript打勾点击添加
verynginx 保存配置
verynginx 配置完成
最近时间比较紧暂时没法测试。 但是可以告诉你们结论 理论上是无限防C,但是也会有瓶颈就是被C的时候Nginx会吃大量CPU但是数据库和PHP不会介入。 可以理解为C的是静态网页。 带宽也是瓶颈,如果你带宽小一下就被占满了,就算服务器没挂掉网站也访问不了。 如果你的CPU够强劲,带宽足够大,是能抗住的。
开启防C后所有爬虫都无法访问,这点需要注意。建议在被C的时候开启比较好。