VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

宝塔面板安装ngx_waf,高性能Nginx防火墙模块自带类似cf的5秒防护罩,抵御cc攻击

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

ngx_waf,新开发的便捷高性能的Nginx防火墙模块。 ngx_waf 的优点包括:

功能齐全:“网络应用防火墙”的所有基本功能。

易于安装:缺少依赖项时会自动提供解决方案。

易于使用:配置说明简单易懂,不用看文档也能猜到是什么意思。

高性能:经过更极端的测试,启动该模块后RPS(每秒请求数)降低了约4%。测试描述和结果请参考文档。

宝塔面板安装ngx_waf,高性能Nginx防火墙模块自带类似cf的5秒防护罩,抵御cc攻击-主机参考

1.简介

项目:https://github.com/ADD-SP/ngx_waf/

2.部署方式一

本文采用两种方式部署模块,首先介绍常规的静态编译方式。另外,作者还提供了Docker的安装方法,但不在本文讨论范围内。

2.1进入宝塔面板的nginx目录

cd /www/server/nginx/sbin/

2.2备份宝塔nginx

cp nginx nginx.bak

2.3 查看当前nginx加载位置的模块,这些模块在编译加载的PageSpeed模块时仍然需要加载(以下路径为宝塔默认nginx路径,请更改其他面板的路径自己确定)进入nginx的编译目录,命令如下:

cd /www/server/nginx/src

2.4 查看宝塔编译的nginx加载模块。这些模块在重新编译和加载新模块时仍然需要加载

nginx -V

注意这个命令是大写的V,如果小写的v不显示模块,这里会显示所有编译好的模块。将 ./configure arguments: 后的内容复制到记事本以备后用。莫涛来了:

--user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/ nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/ server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with- http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with- ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/nginx/src /nginx-dav-ext-module

2.5 添加ngx_waf防火墙模块,并在所有模块的末尾添加以下模块。

--add-module=/www/server/nginx/src/ngx_waf --with-cc-opt='-std=gnu99'

2.6 比如如果是宝塔,直接按如下回车即可。

./configure --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www /server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl= /www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module- -with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module- -with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/ nginx/src/nginx-dav-ext-module --add-module=/www/server/nginx/src/ngx_waf --with-cc-opt='-std=gnu99'

2.7 以上命令执行完毕后,输入编译命令如下:

制作

编译安装过程大概需要5分钟,还是有点长。完成后,将系统中原有的nginx替换为重新编译生成的nginx文件。

2.8停止nginx

服务nginx停止

2.9删除原来的nginx,操作前请确保你的nginx已经备份

rm -rf /www/server/nginx/sbin/nginx

2.10复制刚编译好的nginx

cp /www/server/nginx/src/objs/nginx /www/server/nginx/sbin/

2.11启动nginx

服务nginx启动

2.12 使用nginx -V命令检查模块是否完整。编译成功的效果如下:

3.部署方式二

这是一个编译模块的方法。

3.1 如果安装nginx,需要从软件商店卸载,然后重新安装。注意要选择编译方式安装。

3.2选择自定义安装模块,看图:

注意具体参数填写如下:

模块名称:ngx_waf

模块描述:ngx_waf

模块参数:

--add-module=/www/server/nginx/src/ngx_waf --with-cc-opt='-std=gnu99'

前脚本:

mkdir -p /www/server/nginx/src cd /www/server/nginx/src git clone -b master https://github.com/ADD-SP/ngx_waf.git cd ngx_waf git clone https:/ /github.com/libinjection/libinjection.git inc/libinjection

3.3 编辑好后提交,如图:

提交后,等待安装成功。

3.4 如果遇到错误,一般就是这个错误,

错误:在 /root/ngx_waf 中添加模块检查 uthash 库...未找到 ./configure:错误:ngx_http_waf_module 模块需要 uthash 库。

此错误表示缺少 uthash 库。通过 yum 或 apt 安装。

centos: yum install uthash-devel ubuntu: apt install uthash-dev

3.5 安装成功效果如下: nginx -V 检查! !看到 ngx_waf 模块现已可用,您就大功告成了。

配置参数:--user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www /server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl= /www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module- -with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module- -with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/ nginx/src/nginx-dav-ext-module --add-module=/www/server/nginx/src/ngx_waf --with-cc-opt='-std=gnu99'

4.网站配置及效果展示

4.1 如果你没有网站,可以新建一个,点击宝塔的网站配置文件,在服务器部分找个地方放。显示代码如下: 此代码启用waf自带的5秒屏蔽功能。

waf on; # 是否启用模块waf_rule_path /www/server/nginx/src/ngx_waf/assets/rules/; # 模块规则 waf_mode STD !CC; # 开启普通模式,关闭CC保护 waf_cache capacity=50; # 缓存在uri=/under-attack.html上配置waf_under_attack; # 配置5秒盾

4.2 以上需要注意,把测试用的5秒屏蔽html文件复制到你站点的根目录:

cp /www/server/nginx/src/ngx_waf/assets/under-attack.html /www/wwwroot/imotao.com

如果不需要命令,直接按照路径复制这个文件到你网站的根目录即可。

4.3 测试效果,如果配置正确,此时打开网站,会有5秒的屏蔽效果提示。

当然,这只是一个静态页面。你可以随意修改。如果有特别好的修改,不妨贡献一份。

5.终于

以上教程简单展示了接下来5秒开启屏蔽功能。本教程基于宝塔部署。有两种方法。建议使用第二种方法,但方法取决于您的需要。

其他更多功能请看官方文档:

https://add-sp.github.io/ngx_waf/zh-cn/advance/directive.html

这几篇文章你可能也喜欢:

  • 暂无相关推荐文章

本文由主机参考刊发,转载请注明:宝塔面板安装ngx_waf,高性能Nginx防火墙模块自带类似cf的5秒防护罩,抵御cc攻击 https://zhujicankao.com/65964.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 宝塔面板安装ngx_waf,高性能Nginx防火墙模块自带类似cf的5秒防护罩,抵御cc攻击
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!