商丘做网站,商丘网站优化,商丘网络推广,商丘网络公司
当前位置:

宝塔面板+云锁防护之nginx自编译web防护的方法

发表日期:2024-02-27 10:19聚圣源浏览次数: 本文关键词:

本教程nginx安装自宝塔面板,nginx版本号为1.19.2

(云锁linux版本Linux_3.1.20.15,更新:2020-04-27,亲测时间:2020-08-30),大部分代码可直接复制#后面的命令执行


!!!其他版本方法一致,除第6步有区别其他命令均一致!!!

宝塔面板使用nginx安装云锁开启web防护后网站打不开是因为需要对nginx进行自编译,加入云锁防护模式,以代替web防护。web防护功能与nginx自编译后功能一样。

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

# ps -elf | grep nginx

宝塔面板+云锁防护之nginx自编译web防护的方法

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

 

宝塔面板+云锁防护之nginx自编译web防护的方法

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

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

宝塔面板+云锁防护之nginx自编译web防护的方法

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

# unzip nginx-plugin-master.zip
宝塔面板+云锁防护之nginx自编译web防护的方法

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

# cd nginx-plugin-master/
# pwd

 

宝塔面板+云锁防护之nginx自编译web防护的方法

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

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

宝塔面板+云锁防护之nginx自编译web防护的方法

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

6.进入nginx源码目录,对nginx进行编译(宝塔面板安装的nginx源码位于/www/server/nginx/src);编译时添加云锁防护模块参数,参数路径为第7步获取的云锁防护模块源码全路径“/root/nginx-plugin-master”

备注:编译内容为(./configure 上一步记事本中的备用内容 --add-module=/root/nginx-plugin-master)

# cd /www/server/nginx/src

如下列代码(下列代码请勿复制直接使用,根据你服务器回显的内容为准):

# ./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
把上列命令整理好后,如下图(回车执行即可):

宝塔面板+云锁防护之nginx自编译web防护的方法

以上操作,切记查看路径是否正确 多数编译后出问题就出现在这个地方:/www/server/nginx/src(此路径)
 

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

ps:nginx版本号区分(说白了现在用的版本都是大于1.8的,具体怎么计算,算第一个小数点后面的数字比大小,如下)

版本号:Nginx 1.19.2  大于 Nginx 1.8.0 ↑(对比的是版本号中间的那一位数字,例如这次编译的版本19大于8,这再不明白的话就真懒得讲了!!!
版本号:Nginx 1.18.0  大于 Nginx 1.8.0 ↑
版本号:Nginx 1.16.0  大于 Nginx 1.8.0 ↑
版本号:Nginx 1.14.0  大于 Nginx 1.8.0 ↑
版本号:Nginx 1.12.0  大于 Nginx 1.8.0 ↑
版本号:1.8.0 ↓
(如果是你用的这几个对比的版本号,直接加 -DHIGHERTHAN8 即可)很多Q群的朋友都在说不用加,但是Nginx的版本号对比方面,对比数字大小并非是靠前的数字。

# vi objs/Makefile

备注:按Insert后找到-Werror -g 添加 -DHIGHERTHAN8 ,添加之后按ESC:wq
 

宝塔面板+云锁防护之nginx自编译web防护的方法


以上操作,切记查看路径是否正确 多数编译后出问题就出现在这个地方:/www/server/nginx/src(此路径)
 

# make

以上操作,切记查看路径是否正确 多数编译后出问题就出现在这个地方:/www/server/nginx/src(此路径)

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

 

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

9.到此通过PC端连接到服务器端,在PC端的界面上刷新后可以看到已识别nginx插件(由灰色变为绿色)。ps:如之前开启了Web防护关闭后可现实自编译!
 

宝塔面板+云锁防护之nginx自编译web防护的方法


10.测试防护是否生效

 

http://域名+/?order%20by

浏览器执行
宝塔面板+云锁防护之nginx自编译web防护的方法
PS:如安装云锁后出现S,不显示操作系统的如图:
 
宝塔面板+云锁防护之nginx自编译web防护的方法
如没特殊注明,文章均来自网络! 转载请注明来自:http://www.jushengyuan.com.cn/news/jsbj/10553.html

网站设计案例推荐

热门文章

宝塔面板+云锁防护之nginx自编译...

本教程nginx安装自宝塔面板, nginx版本号为1.19.2 (云锁linux版本Linux_3.1.20.15,更新:2020-04-27, 亲测时间:2020-08-30 ),大部分代码可直接复制#后面的命令执行 !!!其他版本方法一致,除第6步有...

日期:2024-02-27 浏览次数:6982

相关文章
随机推荐

宝塔面板+云锁防护之nginx自编译...