VeryNginx 基于 lua_nginx_module(openrestry) 开发,实现了高级的防火墙、访问统计和其他的一些功能。 集成在 Nginx 中运行,扩展了 Nginx 本身的功能,并提供了友好的 Web 交互界面。
VeryNginx 预置了常用的过滤规则,可以在一定程度上阻止常见的 SQL 注入、Git 及 SVN 文件泄露、目录遍历攻击,并拦截常见的扫描工具。因为经济原因不能上商业的waf软件时,推荐使用VeryNginx!
安装过程

git clone https://github.com/alexazhou/VeryNginx.git   #克隆软件到本地
cd VeryNginx
python install.py install all

VeryNginx安装完成了,宝塔安装的已经集成了waf所需条件直接导入配置文件即可!

cd /www/server/nginx/conf

编辑nginx.conf
http 配置块外部加入

include /opt/verynginx/verynginx/nginx_conf/in_external.conf;

http内部加入

include /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;

在到你的虚拟主机的server加入(一般宝塔的配置文件路径为/www/server/panel/vhost/nginx/)

include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;

加入好后如果添加了新的 Server 配置块或 http 配置块,也需要在新的块内部加入对应的 include 行。
加入好后还需要添加VeryNginx访问配置nginx .conf加入
一般宝塔的nginx.conf配置文件路径为/www/server/nginx/conf/

server {
        listen       80;
        
        #this line shoud be include in every server block
        include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;

        location = / {
            root   html;
            index  index.html index.htm;
        }
 }

下面贴出我的配置......为省略内容

cat nginx.conf
......
include /opt/verynginx/verynginx/nginx_conf/in_external.conf;    #http模块外加入的配置
......
http {
    ......
    include /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;    #http模块内加入到配置
    ......
    server {
        listen       80;
        
        #this line shoud be include in every server block
        include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;   #server模块加入的配置

        location = / {
            root   html;
            index  index.html index.htm;
        }
    }
...
   include conf.d/*.conf;
}

虚拟主机的配置文件为
cat conf.d/g6k.conf

server
    {   
        listen 443 ssl;
        server_name www.g6k.cn;
        ......
        index index.php index.html;
        include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;    #server模块加入的配置
       ......

        if (!-e $request_filename) {
                rewrite ^\/(.*)$ /index.php/$1 last;
                break;
        }
      .....
    }

看了上面的配置应该就很直观的了解配置内容了!
配置完成后

nginx -t #检查配置文件是否错误
nginx -s reload #重载配置这个命令很强大

管理面板地址为 http://{{你的服务器ip}}/verynginx/index.html。
中文管理界面为 http://{{你的服务器ip}}/verynginx/index_zh.html
默认密码为verynginx / verynginx。
如果是自己的博客记得关闭浏览器校验!
还要记得修改后台的账号密码!
不会影响原来的环境只是加了配置而已!

Last modification:August 8, 2019
如果觉得我的文章对你有用,请随意赞赏