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。 如果是自己的博客记得关闭浏览器校验! 还要记得修改后台的账号密码! 不会影响原来的环境只是加了配置而已!