吐槽

以前老有憨批C本站。谁让博主穷得只能靠白女票资源来维持网站运行这样子。压根没财力去上高防机器。
财力不行折腾来凑,硬件防火墙肯定是不可能的,只能用软件防火墙这样子维持生活。
今天也给大家介绍一个最简单也最有效的方法:Verynginx

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
如果打不开可以看一下是不是开了伪静态或者其他的玩意,暂时关掉就可以正常访问了。
verynginx
verynginx

配置防C

配置-自定义动作-浏览器校验-添加规则
开启打勾,JavaScript打勾点击添加
verynginx
保存配置
verynginx
配置完成
verynginx

测试效果

最近时间比较紧暂时没法测试。
但是可以告诉你们结论
理论上是无限防C,但是也会有瓶颈就是被C的时候Nginx会吃大量CPU但是数据库和PHP不会介入。
可以理解为C的是静态网页。
带宽也是瓶颈,如果你带宽小一下就被占满了,就算服务器没挂掉网站也访问不了。
如果你的CPU够强劲,带宽足够大,是能抗住的。

副作用

开启防C后所有爬虫都无法访问,这点需要注意。建议在被C的时候开启比较好。

最后修改:2020 年 04 月 21 日 08 : 09 PM
如果觉得我的文章对你有用,请随意赞赏