欢迎光临
我们一直在努力

为nginx配置一个类似Cloudflare的防CC攻击5秒盾:简单高性能防火墙ngx_waf宝塔配置指南

想为自己的网站配置一个类似Cloudflare的防CC攻击5秒盾,每30分钟展示一次5秒盾,之后再跳转到网站。记录一下通过简单高性能防火墙nfx_waf的配置过程。

一、系统环境

  • debian 12
  • ngx_waf版本:v10.1.2 Current
  • aapanel环境下部署

说明一下,我的是一台新机器,从零开始安装的。

二、安装aapanel

wget -O install.sh https://www.aapanel.com/script/install_7.0_en.sh && bash install.sh 

安装完aapanel先不安装软件。

三、安装ngx_waf步骤

3.1 安装依赖

提前安装需要的环境依赖

apt update

apt install -y libsodium23 \
libsodium-dev \
libcurl4-openssl-dev \
git \
libmodsecurity-dev \
uthash-dev \
libmodsecurity3

3.2 编辑文件/etc/profile

在文件末尾添加:

export LIB_UTHASH=/www/server/nginx/src/uthash

# 如果操作系统的 Ubuntu 则不用写下面这两行
export LIB_SODIUM=/usr/local/libsodium
export LIB_MODSECURITY=/usr/local/modsecurity

3.3 刷新配置

source /etc/profile

3.4 重启面板

清空缓存,重启aapanel并重新登录。

3.5 编译安装nginx

在应用商店,点击编译安装nginx,然后添加模块(我选择的是Current 版前置脚本,LTS 版失败了),

各参数如下:

  • 模块名称:ngx_waf
  • 模块描述:方便且高性能的 Nginx 防火墙模块
  • 模块参数:
--add-module=/www/server/nginx/src/ngx_waf --with-cc-opt=-std=gnu99

前置脚本(Current 版):

mkdir -p /www/server/nginx/src
cd /www/server/nginx/src
git clone -b current https://github.com/ADD-SP/ngx_waf.git
rm -rf /usr/local/src/ngx_waf
cp -r ngx_waf /usr/local/src/ngx_waf
cd ngx_waf
git clone -b v1.7.16 https://github.com/DaveGamble/cJSON.git lib/cjson
git clone -b v2.3.0 https://github.com/troydhanson/uthash.git lib/uthash
cd /www/server/nginx/src
宝塔面板安装ngx_waf

选择激活ngx_waf之后点击安装:

安装成功后删除第三步中向文件 /etc/profile中添加的内容。可以通过nginx -v查看编译的有没有ngx_waf模块。

四、配置网站

具体配置可以参考官网。下面是我的操作步骤。

新建网站,然后修改宝塔网站配置文件(在server段内添加内容)。示列代码如下:这段代码开启了waf自带的5秒盾功能。

 waf on;
 waf_rule_path /usr/local/src/ngx_waf/assets/rules/;
 waf_mode STD;
 waf_cache on capacity=50;
 waf_under_attack on file=/www/wwwroot/xxxx.com/attack.html;

保存完配置之后,访问你的域名,就可以看到效果了。

参考文章:

1.官方文档-宝塔面板安装ngx_waf
2.宝塔面板安装ngx_waf,高性能的Nginx防火墙模块自带类似cf的防cc攻击的5秒盾
3.宝塔Nginx安装ngx_waf

赞(0)
未经允许不得转载:Ddmit » 为nginx配置一个类似Cloudflare的防CC攻击5秒盾:简单高性能防火墙ngx_waf宝塔配置指南

评论 抢沙发

登录

找回密码

注册