centos7宝塔环境安装VeryNginx waf系统实现高级防火墙功能
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。 如果是自己的博客记得关闭浏览器校验! 还要记得修改后台的账号密码! 不会影响原来的环境只是加了配置而已!
- HDUOJ---3743Frosh Week(BIT+离散化)
- Node.js新手必须知道的4个JavaScript概念
- HUDOJ-----1394Minimum Inversion Number
- 提升 Node.js 应用性能的 5 个技巧
- HDUOJ-----1166敌兵布阵
- HDUOJ------2492Ping pong
- HDUOJ----2489 Minimal Ratio Tree
- HDUOJ----2487Ugly Windows
- HDUOJ--------1003 Max Sum
- HDUOJ -----1864 最大报销额(动态规划)
- 行受影响 是什么意思
- c++课程设计(日历)
- 一个程序,让你理解运算符重载操作
- HDUOJ ---1423 Greatest Common Increasing Subsequence(LCS)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【从零开始用Swift开发一个iOS应用(仿微博)】开篇-1. demo上手体验
- 数据结构与算法-二维数组中的查找
- 卷积神经网络之 - GoogLeNet / Inception-v1
- 卷积神经网络之 - Alexnet
- Linux系列之学会使用Top命令进行系统监控
- 一简单线程同步笔试题分享,欢迎纠错分享更多思路
- 卷积神经网络之-NiN 网络(Network In Network)
- 【注意力机制】空间注意力机制之Spatial Transformer Network
- 【小技巧】用Python给你的视频添加字幕
- 震惊!我三步就搞定了 Tomcat 源码环境搭建!
- 【小技巧】深度学习中的那些效率提升利器(附资源)
- 多个线程为了同个资源打起架来了,操作系统是如何让他们安分的?
- 学习链表,这些题你值得一刷!
- Gophish钓鱼测试
- 【位运算】只出现一次的数字 II,数电的知识终于用上了!