【云锁·nginx自编译web防护教程】

一、哪些情况下需要自编译nginx防护插件?

web服务使用的是nginx,并且用了https(云锁不支持https防护,所以需要自编译加入防护插件)。
没用https的可以采用反向代理的方式,也可以采用自编译模式。反向代理模式就是直接开启云锁pc端-应用防护-web防护就可以了。(如下图)
这里写图片描述

(注意:使用https的一定要自编译,不然开启web防护可能会造成网站打不开)

二、nginx防护编译详细教程(本教程nginx安装自宝塔面板,版本号为1.12.2,大部分代码可直接复制)

1.编译前先将已经安装的Nginx文件进行备份,通过ps命令查看nginx文件的路径。以下所有步骤都以自身nginx路径为准。

# ps -elf | grep nginx

这里写图片描述

# cd /www/server/nginx/sbin/
# cp nginx nginx.bak

这里写图片描述

2.通过步骤1查看的路径跟-V参数查看当前Nginx版本,并下载nginx源码包。

#cd ~
# /www/server/nginx/sbin/nginx -V

这里写图片描述

# wget http://nginx.org/download/nginx-1.12.2.tar.gz

这里写图片描述

3.解压nginx源码包

# tar zxvf nginx-1.12.2.tar.gz

这里写图片描述

4.下载云锁防护模块压缩包

# cd /root/
# wget https://codeload.github.com/yunsuo-open/nginx-plugin/zip/master -O nginx-plugin-master.zip

这里写图片描述

5.解压云锁防护模块压缩包nginx-plugin-master.zip

# unzip nginx-plugin-master.zip

这里写图片描述

6.获取当前云锁模块所在目录的全路径

# cd nginx-plugin-master/
# pwd

这里写图片描述

7.查看当前nginx加载的模块,在编译加载云锁防护模块的时候仍需加载这些模块

# cd ~
# /www/server/nginx/sbin/nginx -V

这里写图片描述

8.进入nginx源码目录,对nginx进行编译;编译时添加云锁防护模块参数,参数路径为第7步获取的云锁防护模块源码全路径“/root/nginx-plugin-master”

# cd nginx-1.12.2/
# ./configure --user=www --group=www --prefix=/www/server/nginx --with-openssl=/www/server/nginx/src/openssl --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_v2_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --add-module=/root/nginx-plugin-master

这里写图片描述

9.Nginx1.8.0 以上和 Tengine 2.1.2 则需要修改objs/Makefile文件来支持post过滤,在Makefile文件中的CFLAGS=…-Werror -g后追加宏定义 -DHIGHERTHAN8

这里写图片描述

# vi objs/Makefile

[size=0.85em]CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -DHIGHERTHAN8
完成后进行make

# make

这里写图片描述

10.make完成后将系统中原有的nginx用重新编译生成的nginx文件替换,替换后重启nginx使新编译nginx生效

# rm -rf /www/server/nginx/sbin/nginx
# cp objs/nginx /www/server/nginx/sbin/
# service nginx restart

这里写图片描述

11.到此通过PC端连接到服务器端,在PC端的界面上刷新后可以看到已识别nginx插件(由灰色变为绿色)。

这里写图片描述

12.测试防护是否生效

域名+/?order%20by

这里写图片描述

猜你喜欢

转载自blog.csdn.net/adidaos/article/details/80935190