构建自己防火墙的原因 : 需要对特定链接进行防cc攻击  但对某些链接不需要进行防cc攻击

技术选型: 基于 nginx + lua 的 verynginx

1、首先verynginx 需要nginx   编译安装模块  或者使用openresty

lua-nginx-module

http_stub_status_module

http_ssl_module

2、verynginx 自带的openresty(nginx)安装脚本  可以一键安装 因为我使用的是宝塔面板 不能使用他的一键安装脚本 或者你可以自己安装openresty   安装连接http://openresty.org/cn/installation.html

3、下面开始安装  verynginx

[root@localhost]git clone https://github.com/alexazhou/VeryNginx.git #克隆verynginx仓库

[root@localhost]mkdir -p /opt/verynginx #创建 vernginx 安装目录

[root@localhost]cd verynginx #进入verngin目录

[root@localhost]cp -r -f ./verynginx /opt/verynginx 复制文件

4、将下面三条代码放入 nginx  http 配置块外部,http 配置块内部,server 配置块内部,

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

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

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

5、注意如果开起了nginx vhost模式 有个server 模块就要放几个server 这时候重载 openresty (nginx)配置或者重启就可以  访问响应域名后面加上 vn/index

6、遇到的坑 首先系统后台是使用thinkphp 开发这是时候 我发现 明明开启了防止下载 sql文件 但是我访问  http://demo.com/1.sql 是无法触发拦截规则的  伪静态如下:

location / {

if (!-e $request_filename){

rewrite ^(.*)$ /index.php?s=$1 last; break;

}

}

#问题出此案在 if这个判断 !-e $request_filename 这句代表如果不存在文件的话会直接 执行 rewrite规则 也就是说我访问的是 http://demo.php/1.sql 因为目录下没有 1.sql 其实域名实际访问的是 http://demo.php/index.php?s=1.sql 所以没有触发下载限制 但当 目录下存在 1.sql 就会出现警告 没有的话 报的404 是thinphp返回的 所以虽然没有触发 但对于安全还是有用的

7、请求访问顺序

Nginx Rewrite -> VeryNginx Rewrite -> Nginx aceess -> VeryNginx Access

8、有兴趣的小伙伴可以给我留言一起探讨 nginx waf防火墙  lua是天生适合做nginx waf语言

php waf 搭建,如何构建属于自己的nginx waf防火墙 VeryNginx相关推荐

  1. 【安卓开发系列 -- 开发环境】Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具)

    [安卓开发系列 -- 开发环境]Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具) [1]Unbuntu ...

  2. Win2008 R2下使用jenkins搭建vc构建

    本文的目标是在windows Server 2008 R2中,搭建一个Visual Studio 2010项目的每日构建.发布环境,实现代码的自动编译.打包.数字签名.发布,其中使用jenkins作为 ...

  3. 五金机电行业智能渠道商管理平台搭建,构建数字化渠道管理新模式

    我国是世界上重要的五金制品生产大国和出口国,行业总产值超过万亿,五金机电行业作为其中一个细分行业,市场增长前景十分广阔.随着"互联网+"模式时代的到来,我国五金机电市场交易渠道已不 ...

  4. lua搭建ui_构建类魔兽UI插件的lua安全沙箱

    魔兽的UI插件结构 1.使用lua+XML作为配置 分析:XML虽然人机交互很好,但其实没有几个UI是真正用纯XML写的,大多还是用编辑器比较方便.速度很慢,但尚不清楚魔兽代码里是否进行优化 2. I ...

  5. [转] domeOS 环境搭建 自动化构建部署

    [From]http://dockone.io:82/article/4150 系统:CentOS Linux 7 A机子(domeos服务器): 1. gitlab安装(私有仓库): yum -y ...

  6. mips-mti-gnu-linux,【歪门邪道】利用WSL搭建MIPS32构建环境

    最近打算参加一个CPU设计竞赛,遂开始从头开始看一本叫做<自己动手写CPU>的书,因为年头比较古老了,其中的干货还很有价值,但是涉及诸如仿真.Mips环境搭建等事宜,再以书中内容做参考就不 ...

  7. 基于Linux下搭建NextCloud构建自己的私有网盘

    NextCloud是什么 Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本控制.团队协作等功能.它的 ...

  8. Fabric-samples v1.4 搭建及构建第一个实例

    1.go环境安装. 下载地址:Downloads - The Go Programming Language 环境配置: vim /etc/profile(添加环境变量) export GOROOT= ...

  9. php waf 搭建,开源WAF搭建

    ModSecurity 在Ubuntu和Nginx上安装,nginx版本为1.14.0. 安装需要包 下载编译ModSecurity 3.0源代码 进入目录运行编译 如果出现fatal: No nam ...

最新文章

  1. C++通过vmware.exe检测虚拟机
  2. Python进阶_wxpy学习:聊天对象
  3. stm32之TIM-高级定时器应用实例二(测量频率和占空比)
  4. Nginx 笔记与总结(11)Nginx + php-fpm + MySQL 安装 ecshop
  5. .NET+Sqlite如何支持加密
  6. 微擎url模式解读_微擎系统全局变量说明 - 微擎(WEIQING) – 黑锐源码社区 – bbs.heirui.cn...
  7. cmake copy dll输出目录_VScode下 多文件,小工程使用cmake 速记
  8. UDP --01--基本开发设计
  9. Android异常总结---Test run failed:Unable to find instrumentation target package
  10. 2021-秋招你准备好了吗?软件测试面试题
  11. Shell脚本学习-阶段二十七-命令解释一
  12. 重新配对_Apple Watch配对失败的解决办法
  13. 2017.3.27-morning
  14. testmarkdown
  15. 来到ThoughtWorks
  16. 服务器装无线上网卡,dlink无线上网卡怎么安装和设置
  17. 圣光照耀联盟—PostgreSQL临时表的创建与使用过程
  18. java计算机毕业设计vue教学管理系统MyBatis+系统+LW文档+源码+调试部署
  19. Office/Visio卸载残留或版本冲突导致无法安装问题的解决办法
  20. 允许在CAD中操作超链接!Aspose.CAD最新版v19.9新功能你都了解吗?

热门文章

  1. android#boardcast#发送自定义广播
  2. 【Android取证篇】华为手机OTG备份密码重置教程
  3. Py之h5py:Python库之h5py库的简介、安装、使用方法详细攻略
  4. vlookup匹配的文字显示0_详解vlookup函数中{1,0}的使用方法,看完后给同事讲讲,秒变大神...
  5. Kubernetes 调度 Node污点/容忍
  6. 用gethostbyname进行域名转IP问题
  7. 在sae上面运行微信第三方平台微擎,带视频录像
  8. 【QCM2150】WCN3680 WFA认证11ac AP 4.2.23测试FAIL
  9. R和RStudio一起安装在D盘
  10. uml 菱形_UML图符号的含义