宝塔面板Nginx自编译云锁防护模块 – 让云锁保护你的网站

注意:如果你是极速安装的lnmp环境,那么是不能编译的,所以安装lnmp环境请选择编译安装。

云锁的防CC还是很不错的,比宝塔自带的waf要好很多。特别是在防CC方面,云锁相当不错。当然宝塔面板安装云锁的教程有很多,一般我们都是自编译云锁的nginx防护模块,然后开启防护。

这篇文章就来水一水宝塔面板自编译Nginx云锁防护模块,测试环境,宝塔面板7.0.3 ,nginx1.17,貌似只支持nginx版本。

安装部署:

0、Nginx文件备份

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

ps -elf | grep nginx

命令执行之后,我们会得到宝塔面板nginx的具体路径:/www/server/nginx/sbin/nginx

所以,我们继续执行下面的命令:

cd /www/server/nginx/sbin/   #进入到路径
cp nginx nginx.bak    #备份nginx

1、下载云锁防护模块

我们现在下载云锁防护模块,下载的路径:/www/server/nginx/src  命令如下:

cd /www/server/nginx/src
wget https://codeload.github.com/yunsuo-open/nginx-plugin/zip/master -O nginx-plugin-master.zip

2、解压

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

unzip nginx-plugin-master.zip

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

cd nginx-plugin-master/
pwd

具体操作结果,如图:

需要把云锁的防护模块复制好放在记事本里面。

4、查看宝塔编译好的nginx加载模块

查看宝塔编译好的nginx加载模块,在重新编译加载云锁防护模块的时候仍需加载这些模块。命令:

nginx -V   #这里的V是大写

获取的模块如图:

注意:需要将./configure arguents:之后的内容复制到记事本备用。

5、开始编译

进入nginx源码目录,对nginx进行编译(宝塔面板安装的nginx源码位于/www/server/nginx/src),编译时添加云锁防护模块参数。

参数路径为第3步获取的云锁防护模块源码全路径:/www/server/nginx/src/nginx-plugin-master

编译内容为(./configure ’上一步记事本中的备用内容 /www/server/nginx/src/nginx-plugin-master)进入src目录开始编译,命令如下:

cd /www/server/nginx/src

具体的完整添加代码,如下:

此处为隐藏的内容 发表评论并刷新,方可查看
发表评论

一定要在/www/server/nginx/src 这个目录下面执行编译。切记!复制进去之后开始回车开始configure。

6、修改objs/Makefile文件

Nginx1.8.0 以上和 Tengine 2.1.2 则需要修改objs/Makefile文件来支持post过滤,在Makefile文件中的CFLAGS=…-Werror -g后追加宏定义 -DHIGHERTHAN8    使用vi打开文件,命令如下:

vi objs/Makefile

具体执行,如图:

备注:按i后找到-Werror -g 添加 -DHIGHERTHAN8 ,添加之后按ESC 输入:wq  保存退出即可。接下来我们输入命令:

make

7、nginx文件替换

make完成后将系统中原有的nginx用重新编译生成的nginx文件替换,替换后重启nginx使新编译nginx生效,具体命令如下:

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

具体执行,看图:

执行命令nginx -V 我们可以看到云锁的防护模块已经编译成功,如图:

8、PC端连接到服务器

到此通过PC端连接到服务器端,在PC端的界面上可以看到已识别nginx插件(由灰色变为绿色)。虽然是编译好了,但是如果你没有在服务器端安装云锁软件是不能连接的。

我们看到确实已经【自编译】成功。

9、测试效果

这也是官网提供的方法,在浏览器中执行:http://域名/?order%20by

10、卸载

使用nginx.bak文件替换掉自编译的nginx文件,替换后重启Nginx。以下nginx路径与上述安装路径一致,实际以自身nginx路径为准。

cd /www/server/nginx/sbin/ 
rm -rf nginx
mv nginx.bak nginx
service nginx restart

11、一些细节

如果不能连接需要在宝塔面板安全中放心云锁的5555端口,前提是你已经在服务器端安装了云锁软件。安装分为linux端和windows端:【Linux服务器端安装说明】【Windows服务器端安装说明

连接的方式,如果就一台服务器,可以选择单机管理,具体如图:

按照要求直接输入ip即可,用户名就是root,密码就是服务器管理密码,输入之后点击登录。如果不能登录,宝塔面板→安全,放行5555端口。

参考资料:http://help.yunsuo.com.cn/guide/Nginx.html