差不多,一个星期多的时间都过去了。但是还是感觉时间过的太快,总是不禁的让人长叹一声,关于nginx和(naxsi)WAF这个问题,也算是只走出了第一步,在遇到了各种乱七八糟的错误之后总算是想要静下心来写一些自己这小段时间里的一些感受或者是算不上总结的总结。参考的文章也很多,我在这里把所有的东西都融到一起,像我一样的小白希望你们遇到的时候能帮的上你们,而对于熟悉Linux环境和各种错误的人也希望能帮助到你们。

言归正传,我们开始我们的实战之旅。

第一部分---安装nginx+naxsi

首先,我说一下我的环境是ubuntu14.04LTS版本,并且是在root用户下进行操作的,省去了很多麻烦,至于其他的版本也应该是大同小异的,区别也极有可能只是命令的不通而已。

1 下载nginx源码:wget http://nginx.org/download/nginx-1.7.9.tar.gz

2 下载naxsi源码:wget https://naxsi.googlecode.com/files/naxsi-core-0.51-1.tgz

(注意:这个网址是在谷歌,所以自己想办法下载,我当时使用办法是在windows系统下下载好之后再挪进虚拟机的。为什么要这样做我想你能懂。)

3 安装开发包  apt-get install libpcre3-dev libpcre3 gcc make zlib1g-dev

(注意:这些安装包还是先安装比较好,省去以后需要时才安装带来的麻烦,当然以后要是需要其他的开发包等时,可以那时再安装。)

4 解压缩、编译

(我之前把所有的包全部放在了统一的目录下方便进行操作)

tar xzvf nginx-1.7.9.tar.gz

tar xzvf naxsi-core-0.51-1.tar.gz

执行编译:

在编译安装nginx之前请确定你没有安装apache,如果已经安装请你先卸载在安装。

./configure --add-module=/home/stone/Downloads/naxsi-core-0.51-1/naxsi_src --prefix=/home/stone/Downloads/nginx(这一步要在解压之后的nginx文件目录下执行)

附图解释:

执行 make&& make install;

结束,之后在我的Downloads目录下生成了一个nginx文件夹,这就是安装之后的nginx。

5 运行nginx

生成的可执行的nginx文件在/home/stone/Downloads/nginx/sbin目录下,即你编译生成的nginx文件夹下的sbin文件夹里面。(当时我不知道之前的编译命令是什么意思,结果在指定安装目录的时候我就写的是nginx1.7.9,就生成了一个nginx1.7.9的文件夹)

执行命令:./nginx(启动nginx)

访问127.0.0.1出现欢迎界面:

这里的nginx的目录就是你指定的目录,比如,我的就是/home/stone/Downloads/nginx1.7.9

我们下面可以测试一下我们定制安装的nginx是否已经安装成功了:

我的命令是这样的:./nginx -t

注意:有的文章上面写的是nginx -t,如果在我的那个目录下也敲nginx -t命令的话会出现这样的状况:

我们可以看到了,系统应该是已经自带有安装包的,如果你执行了安装命令的话,我们使用源码安装的意义就没有了,所以,个人觉得命令应该是./nginx -t。

接下来,我们需要将nginx配制成反向代理,

6 配置反向代理

第一,首先我们要清楚的知道nginx的安装目录,我的安装目录是指定到了/home/stone/Downloads/nginx1.7.9

接着,我们进入naxsi的目录下,将naxsi的核心配置拷贝到nginx的配置文件夹下(即nginx1.7.9/conf文件夹下)。也可以用命令行的形式进行这个过程:

cp /home/stone/Downloads/naxsi-core-0.51-1/naxsi_config/naxsi_core.rules /home/stone/Downloads/nginx1.7.9/conf/
      完成这一步之后,我们要配置一下nginx.conf的配置文件,加入配置,让其包含naxsi的核心规则库文件:

然后需要定义一个虚拟主机的安全规则,我参考的内容如下,并且我将它命名为naxsi_nbs.rules(你可以将它命名为test.rules否可以):

然后这个文件在conf文件夹下,之后在配置配置文件的时候需要将该文件包含在配置文件中,

形如:include  /home/stone/Downloads/nginx1.7.9/conf/

到此为止,我们的nginx+naxsi安装以及关联已经告一个小小的段落,之后还有一些详细的配置文件的内容介绍,我将在下一篇随笔里面介绍。

在这过程之间,我曾遇到过一下问题,如果你们也遇到了和我一样的问题,那么我之前的时候记录的一篇关于遇到的一些问题思路或解决方法的随笔也许可以帮到你们:

http://www.cnblogs.com/stone-dan-dan/p/stone.html

我、实战nginx+naxsi(WAF)之一的更多相关文章

  1. 【转】Nginx 学习笔记(十一)nginx下安装配置naxsi waf防火墙(附完整编译、配置)

    原文地址:http://f2ex.cn/nginx-installed-configuration-naxsi-waf/ Naxsi 是第三方 nginx 模块 ,它和 Modsecurity 都是开 ...

  2. Nginx 支持 WAF 防护功能实战

    WAF(Web Application Firewall),中文名称叫做“Web应用防火墙 WAF的定义是这样的:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提 ...

  3. modSecurity和Naxsi哪个更适合Nginx搭建WAF

    nginx增加modsecurity模块 modsecurity原本是Apache上的一款开源waf,可以有效的增强web安全性,目前已经支持nginx和IIS,配合nginx的灵活和高效,可以打造成 ...

  4. 让 Nginx 支持 WAF 防护功能实战

    ngx_lua_waf 安装说明文档 作者github地址: https://github.com/loveshell/ngx_lua_waf ———————————————————————————— ...

  5. nginx安装waf防护

    一.安装nginx 二.安装luajit2.0 三.安装ngx_devel_kit#wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.1 ...

  6. 《实战Nginx》读书笔记

    最近今天读了一本书叫做<实战Nginx:取代Apache的高性能Web服务器>,看后对Nginx 了解了不少.但是还有很多地方不是很了解.不过此书可以作为一本参考手册来使用,里面的讲解很详 ...

  7. 【摘自张宴的"实战:Nginx"】nginx配置

    user nobody;worker_processes 2; #error_log logs/error.log;error_log logs/error.log notice;#error_log ...

  8. Linux Nginx naxsi

    nginx naxsi 模块 - 简书https://www.jianshu.com/p/8492da04b3ba naxsi compile · nbs-system/naxsi Wikihttps ...

  9. Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件

    一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...

随机推荐

  1. C#递归遍历指定目录下文件和文件夹

    #region 使用递归查询某路径中的文件结构 public static void CheckFilePath() { ReadFilePath(); } public static void Re ...

  2. Navicat通过云主机内网连接阿里云RDS

    背景 公司为了安全起见,RDS设置只允许阿里云主机的内网端可以访问.这就意味,如果要操作RDS就需要连接到云主机上之后通过mysql shell操作.操作起来很复杂麻烦,今天看同事用Navicat f ...

  3. Linq to Sql 总生成 where ID is null 的解决办法

    using (Entities com = new Entities()){     com.Configuration.UseDatabaseNullSemantics = true; } EF+M ...

  4. hdu 1034 Candy Sharing Game

    Candy Sharing Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  5. uCos 没有延时Tick滴答定时器测试

    原来学uCos只是表面,今天才发现uCos没有心跳也是可以活的,只是延时功能. 即:OSTimeDly.OSTimexxx 头的功能不能使用. 如果有是用OSTimexxx,任务将会卡死.其实,OST ...

  6. Altium Designer生成网表 导出网表【worldsing笔记】

    Design -> Netlist for project -> Protel

  7. thinkPHP配置项

    'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符 'TMPL_L_DELIM'=>'<{', //修改左定界符 'TMPL_R_DELIM'=>'}&g ...

  8. Sql Server 带参数的存储过程执行方法

    Sql Server 带参数的存储过程执行方法 Visual C# 动态操作 SQL Server 数据库实例教程(4):带参数的存储过程执行方法 上一篇文章介绍了带参数的SQL语句执行方法和不带参数 ...

  9. 编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E。要求: (1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak() 方法,在speak方法中输出“咿咿呀呀......”的信息。 (2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法 中输出“小样的,不

    package homework1; public class Monkey { //构造方法 Monkey(String s) { } //成员方法 public void speak() { Sy ...

  10. iOS Instruments内存检测使用

    Instruments 可以帮我们了解到应用程序使用内存的几个方面: 全局内存使用情况(Overall Memory Use): 从全局的角度监测应用程序的内存使用情况,捕捉非预期的或大幅度的内存增长 ...