云锁Nginx自编译全过程,Nginx下开启云锁防护模块

现在的网络还是蛮危险的,小编服务器装上云锁才发现几乎每一秒都有人在暴力测试我的服务器密码:

云锁Nginx自编译全过程,Nginx下开启云锁防护模块

但服务器是Nginx的环境,所以云锁并不能防护,需要自编译才可以搞定,我按照官方教程来了很多遍,都搞定,但看到大鸟的教程,搞定了,特地转载过来,多谢大鸟倾情奉献,牛逼!

里面有些小毛病,小编我也改成了下。

忘了说了,演示NG是1.17.10版本,其他版本只能参考。

切记,编译前请先将云锁所有防护关闭,还有宝塔等带的防火墙啥的。

安装部署:

0、Nginx文件备份

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

  1. ps elf | grep nginx

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

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

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

1、下载云锁防护模块

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

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

2、解压

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

  1. unzip nginxpluginmaster.zip
  2. 这里571免费资源小编提醒大家一下,解压后,输入A,意思就是ALL的意思,不然还是会失败

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

  1. cd nginxpluginmaster/
  2. pwd

具体操作结果,如图:

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

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

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

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

  1. nginx V #这里的V是大写

获取的模块如图:

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

注意:需要将./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目录开始编译,命令如下:

  1. cd /www/server/nginx/src

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

隐藏的内容
  1. ./configure –user= –user=www –group=www –prefix=/www/server/nginx addmodule=/www/server/nginx/src/ngx_devel_kit addmodule=/www/server/nginx/src/lua_nginx_module addmodule=/www/server/nginx/src/ngx_cache_purge addmodule=/www/server/nginx/src/nginxstickymodule withopenssl=/www/server/nginx/src/openssl withpcre=pcre8.43 withhttp_v2_module withstream withstream_ssl_module withhttp_stub_status_module withhttp_ssl_module withhttp_image_filter_module withhttp_gzip_static_module withhttp_gunzip_module withipv6 withhttp_sub_module withhttp_flv_module withhttp_addition_module withhttp_realip_module withhttp_mp4_module withldopt=-Wl,-E withccopt=-Wnoerror withldopt=-ljemalloc addmodule=/www/server/nginx/src/nginxpluginmaster

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

6、修改objs/Makefile文件

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

  1. vi objs/Makefile

具体执行,如图:

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

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

  1. make

7、nginx文件替换

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

  1. rm rf /www/server/nginx/sbin/nginx
  2. cp objs/nginx /www/server/nginx/sbin/
  3. service nginx restart

具体执行,看图:

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

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

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

8、PC端连接到服务器

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

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

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

9、测试效果

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

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

10、卸载

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

  1. cd /www/server/nginx/sbin/
  2. rm rf nginx
  3. mv nginx.bak nginx
  4. service nginx restart

11、一些细节

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

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

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

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

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

(原文点文章标题下作者即可查看)

未经允许不得转载:571免费资源 » 云锁Nginx自编译全过程,Nginx下开启云锁防护模块